Relaxed unit test tolerance.

Project: http://git-wip-us.apache.org/repos/asf/commons-rng/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rng/commit/7eaacc18
Tree: http://git-wip-us.apache.org/repos/asf/commons-rng/tree/7eaacc18
Diff: http://git-wip-us.apache.org/repos/asf/commons-rng/diff/7eaacc18

Branch: refs/heads/RNG-30__sampling
Commit: 7eaacc18869d38473361b6058aef61a1d2bfcc5e
Parents: 0cb1702
Author: Gilles <er...@apache.org>
Authored: Sat Nov 12 16:17:08 2016 +0100
Committer: Gilles <er...@apache.org>
Committed: Sat Nov 12 16:17:08 2016 +0100

----------------------------------------------------------------------
 .../distribution/ContinuousSamplerParametricTest.java   | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-rng/blob/7eaacc18/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java
----------------------------------------------------------------------
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java
index 1578302..e964769 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/ContinuousSamplerParametricTest.java
@@ -64,14 +64,14 @@ public class ContinuousSamplerParametricTest {
 
     @Test
     public void testSampling() {
-        check(10000, sampler.getSampler(), sampler.getDeciles());
+        check(20000, sampler.getSampler(), sampler.getDeciles());
     }
 
     /**
      * Performs a chi-square test of homogeneity of the observed
      * distribution with the expected distribution.
      * Tests are performed at the 1% level and an average failure rate
-     * higher than 2% causes the test case to fail.
+     * higher than 5% causes the test case to fail.
      *
      * @param sampler Sampler.
      * @param sampleSize Number of random values to generate.
@@ -98,6 +98,8 @@ public class ContinuousSamplerParametricTest {
         // and 1% significance level.
         final double chi2CriticalValue = 21.67;
 
+        // For storing chi2 larger than the critical value.
+        final List<Double> failedStat = new ArrayList<Double>();
         try {
             final int lastDecileIndex = numBins - 1;
             for (int i = 0; i < numTests; i++) {
@@ -126,6 +128,7 @@ public class ContinuousSamplerParametricTest {
 
                 // Statistics check.
                 if (chi2 > chi2CriticalValue) {
+                    failedStat.add(chi2);
                     ++numFailures;
                 }
             }
@@ -134,9 +137,10 @@ public class ContinuousSamplerParametricTest {
             throw new RuntimeException("Unexpected", e);
         }
 
-        if ((double) numFailures / (double) numTests > 0.02) {
+        if ((double) numFailures / (double) numTests > 0.05) {
             Assert.fail(sampler + ": Too many failures for sample size = " + 
sampleSize +
-                        " (" + numFailures + " out of " + numTests + " tests 
failed)");
+                        " (" + numFailures + " out of " + numTests + " tests 
failed, " +
+                        "chi2=" + Arrays.toString(failedStat.toArray(new 
Double[0])));
         }
     }
 }

Reply via email to