This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-statistics.git

commit cf4a0838ce6024c26ae88e3e9c2f321131fa6f1e
Author: aherbert <[email protected]>
AuthorDate: Tue Jun 23 16:36:16 2020 +0100

    Increase BetaDistribution coverage.
    
    This requires fixing the arguments to the
    DistributionException.TOO_SMALL message.
---
 .../statistics/distribution/BetaDistribution.java  |  4 ++--
 .../distribution/BetaDistributionTest.java         | 24 ++++++++++++++++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git 
a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
 
b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
index 123e368..54e9cf3 100644
--- 
a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
+++ 
b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/BetaDistribution.java
@@ -79,13 +79,13 @@ public class BetaDistribution extends 
AbstractContinuousDistribution {
         } else if (x == 0) {
             if (alpha < 1) {
                 throw new 
DistributionException(DistributionException.TOO_SMALL,
-                                                alpha, 1);
+                                                alpha, 1.0);
             }
             return Double.NEGATIVE_INFINITY;
         } else if (x == 1) {
             if (beta < 1) {
                 throw new 
DistributionException(DistributionException.TOO_SMALL,
-                                                beta, 1);
+                                                beta, 1.0);
             }
             return Double.NEGATIVE_INFINITY;
         } else {
diff --git 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
index 33ed834..714ef93 100644
--- 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
+++ 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
@@ -301,6 +301,30 @@ public class BetaDistributionTest {
     }
 
     @Test
+    public void testDensityExtremes() {
+        final BetaDistribution d = new BetaDistribution(2, 3);
+        Assertions.assertEquals(Double.NEGATIVE_INFINITY, d.logDensity(-0.1));
+        Assertions.assertEquals(Double.NEGATIVE_INFINITY, d.logDensity(1.1));
+        Assertions.assertEquals(0.0, d.density(-0.1));
+        Assertions.assertEquals(0.0, d.density(1.1));
+
+        Assertions.assertEquals(Double.NEGATIVE_INFINITY, d.logDensity(0.0));
+        Assertions.assertEquals(Double.NEGATIVE_INFINITY, d.logDensity(1.0));
+    }
+
+    @Test
+    public void testLogDensityPrecondition1() {
+        final BetaDistribution d = new BetaDistribution(0.5, 3);
+        Assertions.assertThrows(DistributionException.class, () -> 
d.logDensity(0.0));
+    }
+
+    @Test
+    public void testLogDensityPrecondition2() {
+        final BetaDistribution d = new BetaDistribution(2, 0.5);
+        Assertions.assertThrows(DistributionException.class, () -> 
d.logDensity(1.0));
+    }
+
+    @Test
     public void testMoments() {
         final double tol = 1e-9;
         BetaDistribution dist;

Reply via email to