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 27fd9b9a206993e3a2dd33bd3ff9a0f9f0c0bb60 Author: aherbert <[email protected]> AuthorDate: Tue Jun 23 14:20:23 2020 +0100 Add test for isSupportConnect to abstract tests. This property is currently always true. It is only used in the default continuous distribution inverse cumulative probability. --- .../distribution/CauchyDistributionTest.java | 6 ------ .../ConstantContinuousDistributionTest.java | 6 ------ .../ContinuousDistributionAbstractTest.java | 24 ++++++++++++++++++++++ .../DiscreteDistributionAbstractTest.java | 20 ++++++++++++++++++ .../distribution/ExponentialDistributionTest.java | 6 ------ 5 files changed, 44 insertions(+), 18 deletions(-) diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/CauchyDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/CauchyDistributionTest.java index 6dc83c6..be22366 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/CauchyDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/CauchyDistributionTest.java @@ -109,10 +109,4 @@ public class CauchyDistributionTest extends ContinuousDistributionAbstractTest { Assertions.assertTrue(Double.isNaN(dist.getMean())); Assertions.assertTrue(Double.isNaN(dist.getVariance())); } - - @Test - public void testIsSupportConnected() { - final CauchyDistribution dist = new CauchyDistribution(10.2, 0.15); - Assertions.assertTrue(dist.isSupportConnected()); - } } diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ConstantContinuousDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ConstantContinuousDistributionTest.java index ae7a493..e9858f2 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ConstantContinuousDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ConstantContinuousDistributionTest.java @@ -89,10 +89,4 @@ public class ConstantContinuousDistributionTest extends ContinuousDistributionAb Assertions.assertEquals(value, sampler.sample(), 0); } } - - @Test - public void testIsSupportConnected() { - final ConstantContinuousDistribution dist = new ConstantContinuousDistribution(-1); - Assertions.assertTrue(dist.isSupportConnected()); - } } diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java index 6375fdc..d6ab041 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java @@ -379,6 +379,19 @@ public abstract class ContinuousDistributionAbstractTest { } } + /** + * Test if the distribution is support connected. This test exists to ensure the support + * connected property is tested. This may be evaluated in the default implementation + * of {@link AbstractContinuousDistribution#inverseCumulativeProbability(double)} + * depending on the data points used to test the distribution (see + * {@link #makeInverseCumulativeTestPoints()}). If this default method has been overridden + * then the support connected property is not used elsewhere in the standard tests. + */ + @Test + public void testIsSupportConnected() { + Assertions.assertEquals(isSupportConnected(), distribution.isSupportConnected()); + } + //------------------ Getters / Setters for test instance data ----------- /** * @return Returns the cumulativeTestPoints. @@ -477,4 +490,15 @@ public abstract class ContinuousDistributionAbstractTest { protected void setTolerance(double tolerance) { this.tolerance = tolerance; } + + /** + * The expected value for {@link ContinuousDistribution#isSupportConnected()}. + * The default is {@code true}. Test class should override this when the distribution + * is not support connected. + * + * @return Returns true if the distribution is support connected + */ + protected boolean isSupportConnected() { + return true; + } } 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 0a0c61a..f443e1b 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 @@ -300,6 +300,15 @@ public abstract class DiscreteDistributionAbstractTest { TestUtils.assertChiSquareAccept(densityPoints, expectedCounts, observedCounts, .001); } + /** + * Test if the distribution is support connected. This test exists to ensure the support + * connected property is tested. + */ + @Test + public void testIsSupportConnected() { + Assertions.assertEquals(isSupportConnected(), distribution.isSupportConnected()); + } + //------------------ Getters / Setters for test instance data ----------- /** * @return Returns the cumulativeTestPoints. @@ -412,4 +421,15 @@ public abstract class DiscreteDistributionAbstractTest { protected void setTolerance(double tolerance) { this.tolerance = tolerance; } + + /** + * The expected value for {@link DiscreteDistribution#isSupportConnected()}. + * The default is {@code true}. Test class should override this when the distribution + * is not support connected. + * + * @return Returns true if the distribution is support connected + */ + protected boolean isSupportConnected() { + return true; + } } diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java index 725865b..0dbdc3e 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java @@ -130,10 +130,4 @@ public class ExponentialDistributionTest extends ContinuousDistributionAbstractT Assertions.assertEquals(10.5d, dist.getMean(), tol); Assertions.assertEquals(10.5d * 10.5d, dist.getVariance(), tol); } - - @Test - public void testIsSupportConnected() { - final ExponentialDistribution dist = new ExponentialDistribution(11d); - Assertions.assertTrue(dist.isSupportConnected()); - } }
