1 16 package org.apache.commons.math.stat.descriptive; 17 18 19 import junit.framework.Test; 20 import junit.framework.TestCase; 21 import junit.framework.TestSuite; 22 23 import org.apache.commons.math.TestUtils; 24 29 30 public final class StatisticalSummaryValuesTest extends TestCase { 31 32 33 public StatisticalSummaryValuesTest(String name) { 34 super(name); 35 } 36 37 public void setUp() { 38 } 39 40 public static Test suite() { 41 TestSuite suite = new TestSuite(StatisticalSummaryValuesTest.class); 42 suite.setName("StatisticalSummaryValues Tests"); 43 return suite; 44 } 45 46 public void testSerialization() { 47 StatisticalSummaryValues u = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6); 48 TestUtils.checkSerializedEquality(u); 49 StatisticalSummaryValues t = (StatisticalSummaryValues) TestUtils.serializeAndRecover(u); 50 verifyEquality(u, t); 51 } 52 53 public void testEqualsAndHashCode() { 54 StatisticalSummaryValues u = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6); 55 StatisticalSummaryValues t = null; 56 int emptyHash = u.hashCode(); 57 assertTrue("reflexive", u.equals(u)); 58 assertFalse("non-null compared to null", u.equals(t)); 59 assertFalse("wrong type", u.equals(new Double (0))); 60 t = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6); 61 assertTrue("instances with same data should be equal", t.equals(u)); 62 assertEquals("hash code", u.hashCode(), t.hashCode()); 63 64 u = new StatisticalSummaryValues(Double.NaN, 2, 3, 4, 5, 6); 65 t = new StatisticalSummaryValues(1, Double.NaN, 3, 4, 5, 6); 66 assertFalse("instances based on different data should be different", 67 (u.equals(t) ||t.equals(u))); 68 } 69 70 private void verifyEquality(StatisticalSummaryValues s, StatisticalSummaryValues u) { 71 assertEquals("N",s.getN(),u.getN()); 72 TestUtils.assertEquals("sum",s.getSum(),u.getSum(), 0); 73 TestUtils.assertEquals("var",s.getVariance(),u.getVariance(), 0); 74 TestUtils.assertEquals("std",s.getStandardDeviation(),u.getStandardDeviation(), 0); 75 TestUtils.assertEquals("mean",s.getMean(),u.getMean(), 0); 76 TestUtils.assertEquals("min",s.getMin(),u.getMin(), 0); 77 TestUtils.assertEquals("max",s.getMax(),u.getMax(), 0); 78 } 79 } 80 | Popular Tags |