You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2013/07/16 11:15:33 UTC
svn commit: r1503623 -
/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/stat/FrequencyTest.java
Author: sebb
Date: Tue Jul 16 09:15:32 2013
New Revision: 1503623
URL: http://svn.apache.org/r1503623
Log:
Add some tests of NaNs
Modified:
commons/proper/math/trunk/src/test/java/org/apache/commons/math3/stat/FrequencyTest.java
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math3/stat/FrequencyTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math3/stat/FrequencyTest.java?rev=1503623&r1=1503622&r2=1503623&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math3/stat/FrequencyTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math3/stat/FrequencyTest.java Tue Jul 16 09:15:32 2013
@@ -24,6 +24,7 @@ import java.util.List;
import org.apache.commons.math3.TestUtils;
+import org.apache.commons.math3.exception.MathIllegalArgumentException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -357,5 +358,63 @@ public final class FrequencyTest {
Assert.assertEquals("2", mode.get(0));
Assert.assertFalse(mode.contains("1"));
Assert.assertTrue(mode.contains("2"));
+
+ try {
+ f.addValue(Double.valueOf(Double.NaN));
+ Assert.fail("Expected MathIllegalArgumentException");
+ } catch (MathIllegalArgumentException e) {
+ // expected
+ }
}
+
+ @Test
+ public void testModeDoubleNan() {
+ List<Comparable<?>> mode;
+ f.addValue(Double.valueOf(Double.NaN));
+ f.addValue(Double.valueOf(Double.NaN));
+ f.addValue(Double.valueOf(Double.NaN));
+ f.addValue(Double.valueOf(Double.NEGATIVE_INFINITY));
+ f.addValue(Double.valueOf(Double.POSITIVE_INFINITY));
+ f.addValue(Double.valueOf(Double.NEGATIVE_INFINITY));
+ f.addValue(Double.valueOf(Double.POSITIVE_INFINITY));
+ f.addValue(Double.valueOf(Double.NEGATIVE_INFINITY));
+ f.addValue(Double.valueOf(Double.POSITIVE_INFINITY));
+ mode = f.getMode();
+ Assert.assertEquals(3, mode.size());
+ Assert.assertEquals(Double.valueOf(Double.NEGATIVE_INFINITY), mode.get(0));
+ Assert.assertEquals(Double.valueOf(Double.POSITIVE_INFINITY), mode.get(1));
+ Assert.assertEquals(Double.valueOf(Double.NaN), mode.get(2));
+ try {
+ f.addValue(Float.valueOf(Float.NaN));
+ Assert.fail("Expected MathIllegalArgumentException");
+ } catch (MathIllegalArgumentException e) {
+ // expected
+ }
+ }
+
+ @Test
+ public void testModeFloatNan() {
+ List<Comparable<?>> mode;
+ f.addValue(Float.valueOf(Float.NaN));
+ f.addValue(Float.valueOf(Float.NaN));
+ f.addValue(Float.valueOf(Float.NaN));
+ f.addValue(Float.valueOf(Float.NEGATIVE_INFINITY));
+ f.addValue(Float.valueOf(Float.POSITIVE_INFINITY));
+ f.addValue(Float.valueOf(Float.NEGATIVE_INFINITY));
+ f.addValue(Float.valueOf(Float.POSITIVE_INFINITY));
+ f.addValue(Float.valueOf(Float.NEGATIVE_INFINITY));
+ f.addValue(Float.valueOf(Float.POSITIVE_INFINITY));
+ mode = f.getMode();
+ Assert.assertEquals(3, mode.size());
+ Assert.assertEquals(Float.valueOf(Float.NEGATIVE_INFINITY), mode.get(0));
+ Assert.assertEquals(Float.valueOf(Float.POSITIVE_INFINITY), mode.get(1));
+ Assert.assertEquals(Float.valueOf(Float.NaN), mode.get(2));
+ try {
+ f.addValue(Double.valueOf(Double.NaN));
+ Assert.fail("Expected MathIllegalArgumentException");
+ } catch (MathIllegalArgumentException e) {
+ // expected
+ }
+ }
+
}