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 c076ba3ee5bd0f6c7e60af02c2e1f0d870e689fd
Author: aherbert <aherb...@apache.org>
AuthorDate: Fri Jul 30 16:38:18 2021 +0100

    Add edge case coverage for logProbability
---
 .../statistics/distribution/DiscreteDistributionAbstractTest.java   | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
index 03273f9..fcc46b3 100644
--- 
a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
+++ 
b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
@@ -440,6 +440,12 @@ abstract class DiscreteDistributionAbstractTest {
             Assertions.assertEquals(1.0, 
distribution.cumulativeProbability(above));
             Assertions.assertEquals(0.0, 
distribution.survivalProbability(above));
         }
+
+        // Test the logProbability at the support bound. This hits edge case 
coverage for logProbability.
+        // It is assumed the log probability may support a value when the 
plain probability will be zero.
+        // So do not test Math.log(distribution.probability(x)) == 
distribution.logProbability(x)
+        Assertions.assertEquals(distribution.probability(lo), 
Math.exp(distribution.logProbability(lo)), getTolerance());
+        Assertions.assertEquals(distribution.probability(hi), 
Math.exp(distribution.logProbability(hi)), getTolerance());
     }
 
     @Test

Reply via email to