Add edge case coverage for density
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java
index b7eb220..691d8b1 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java
@@ -94,6 +94,13 @@
//-------------------- Additional test cases -------------------------------
@Test
+ void testDensityAtSupportBounds() {
+ final GammaDistribution distribution = makeDistribution();
+ Assertions.assertEquals(0.0, distribution.density(0));
+ Assertions.assertEquals(0.0, distribution.density(Double.POSITIVE_INFINITY));
+ }
+
+ @Test
void testParameterAccessors() {
final GammaDistribution distribution = makeDistribution();
Assertions.assertEquals(4d, distribution.getShape());
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java
index 01cedcb..c85632c 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java
@@ -87,6 +87,13 @@
//-------------------- Additional test cases -------------------------------
@Test
+ void testDensityAtSupportBounds() {
+ final LevyDistribution distribution = makeDistribution();
+ // Below the location
+ Assertions.assertEquals(0.0, distribution.density(distribution.getLocation() - 1));
+ }
+
+ @Test
void testParameterAccessors() {
final LevyDistribution d = makeDistribution();
Assertions.assertEquals(1.2, d.getLocation());
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java
index aa076ba..ee4da66 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/WeibullDistributionTest.java
@@ -84,6 +84,13 @@
//-------------------- Additional test cases -------------------------------
@Test
+ void testDensityAtSupportBounds() {
+ final WeibullDistribution distribution = makeDistribution();
+ Assertions.assertEquals(0.0, distribution.density(0));
+ Assertions.assertEquals(0.0, distribution.density(Double.POSITIVE_INFINITY));
+ }
+
+ @Test
void testInverseCumulativeProbabilitySmallPAccuracy() {
final WeibullDistribution dist = new WeibullDistribution(2, 3);
final double t = dist.inverseCumulativeProbability(1e-17);