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 void setUp() {
39 }
40
41 public static Test suite() {
42 TestSuite suite = new TestSuite(StatisticalSummaryValuesTest.class);
43 suite.setName("StatisticalSummaryValues Tests");
44 return suite;
45 }
46
47 public void testSerialization() {
48 StatisticalSummaryValues u = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6);
49 TestUtils.checkSerializedEquality(u);
50 StatisticalSummaryValues t = (StatisticalSummaryValues) TestUtils.serializeAndRecover(u);
51 verifyEquality(u, t);
52 }
53
54 public void testEqualsAndHashCode() {
55 StatisticalSummaryValues u = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6);
56 StatisticalSummaryValues t = null;
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 }