1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 /**
25 * Test cases for the {@link StatisticalSummaryValues} class.
26 *
27 * @version $Revision: 155427 $ $Date: 2005-02-26 06:11:52 -0700 (Sat, 26 Feb 2005) $
28 */
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 }