You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2016/12/13 10:03:29 UTC
[math] MATH-1361: Unit test (disabled).
Repository: commons-math
Updated Branches:
refs/heads/master b1d38d9bf -> 5c753a87c
MATH-1361: Unit test (disabled).
Example code that shows the issue.
Unit test set to "@Ignore" since it takes a long time (testing many seeds).
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/5c753a87
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/5c753a87
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/5c753a87
Branch: refs/heads/master
Commit: 5c753a87c328678f16bf89e0178448f04194f0b4
Parents: b1d38d9
Author: Gilles <er...@apache.org>
Authored: Tue Dec 13 10:58:45 2016 +0100
Committer: Gilles <er...@apache.org>
Committed: Tue Dec 13 10:58:45 2016 +0100
----------------------------------------------------------------------
.../math4/stat/ranking/NaturalRankingTest.java | 49 ++++++++++++++++++++
1 file changed, 49 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-math/blob/5c753a87/src/test/java/org/apache/commons/math4/stat/ranking/NaturalRankingTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/stat/ranking/NaturalRankingTest.java b/src/test/java/org/apache/commons/math4/stat/ranking/NaturalRankingTest.java
index 137469a..b886c83 100644
--- a/src/test/java/org/apache/commons/math4/stat/ranking/NaturalRankingTest.java
+++ b/src/test/java/org/apache/commons/math4/stat/ranking/NaturalRankingTest.java
@@ -23,8 +23,11 @@ import org.apache.commons.math4.stat.ranking.NaNStrategy;
import org.apache.commons.math4.stat.ranking.NaturalRanking;
import org.apache.commons.math4.stat.ranking.TiesStrategy;
import org.junit.Test;
+import org.junit.Ignore;
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
+import org.apache.commons.rng.simple.JDKRandomBridge;
+
/**
* Test cases for NaturalRanking class
@@ -169,6 +172,52 @@ public class NaturalRankingTest {
TestUtils.assertEquals(correctRanks, ranks, 0d);
}
+ /*
+ * Cf. MATH-1361
+ * XXX To be removed when issue is fixed.
+ */
+ @Ignore
+ @Test
+ public void testNaNsFixedTiesRandomDEBUG() {
+ int count = 0;
+ final long start = 0;
+ final int num = 10000000;
+ final long max = start + num;
+ for (long i = start; i <= max; i++) {
+ UniformRandomProvider randomGenerator = RandomSource.create(RandomSource.MT, i);
+ NaturalRanking ranking = new NaturalRanking(NaNStrategy.FIXED,
+ randomGenerator);
+ double[] ranks = ranking.rank(exampleData);
+ double[] correctRanks = { 5, 3, 6, 7, 3, 8, Double.NaN, 1, 2 };
+ if (!org.apache.commons.math4.util.MathArrays.equalsIncludingNaN(correctRanks, ranks)) continue;
+
+ ranks = ranking.rank(tiesFirst);
+ correctRanks = new double[] { 1, 2, 4, 3, 5 };
+ if (!org.apache.commons.math4.util.MathArrays.equalsIncludingNaN(correctRanks, ranks)) continue;
+
+ ranks = ranking.rank(tiesLast);
+ correctRanks = new double[] { 3, 3, 2, 1 };
+ if (!org.apache.commons.math4.util.MathArrays.equalsIncludingNaN(correctRanks, ranks)) continue;
+
+ ranks = ranking.rank(multipleNaNs);
+ correctRanks = new double[] { 1, 2, Double.NaN, Double.NaN };
+ if (!org.apache.commons.math4.util.MathArrays.equalsIncludingNaN(correctRanks, ranks)) continue;
+
+ ranks = ranking.rank(multipleTies);
+ correctRanks = new double[] { 3, 2, 4, 4, 6, 7, 1 };
+ if (!org.apache.commons.math4.util.MathArrays.equalsIncludingNaN(correctRanks, ranks)) continue;
+
+ ranks = ranking.rank(allSame);
+ correctRanks = new double[] { 2, 3, 3, 3 };
+ if (!org.apache.commons.math4.util.MathArrays.equalsIncludingNaN(correctRanks, ranks)) continue;
+
+ ++count;
+ //System.out.println("seed = " + i);
+ //break;
+ }
+ System.out.println("success rate = " + count + " / " + num);
+ }
+
@Test
public void testNaNsFixedTiesRandom() {
UniformRandomProvider randomGenerator = RandomSource.create(RandomSource.JDK, 1000L);