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