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