From ee290a0a4a55d99a15da93a5f5e2a1c2a604672a Mon Sep 17 00:00:00 2001 From: Phil Steitz Date: Tue, 29 Jun 2004 02:21:33 +0000 Subject: [PATCH] Added tests for StatisticalSummaryValues. git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/math/trunk@141344 13f79535-47bb-0310-9956-ffa450edef68 --- .../StatisticalSummaryValuesTest.java | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/test/org/apache/commons/math/stat/univariate/StatisticalSummaryValuesTest.java diff --git a/src/test/org/apache/commons/math/stat/univariate/StatisticalSummaryValuesTest.java b/src/test/org/apache/commons/math/stat/univariate/StatisticalSummaryValuesTest.java new file mode 100644 index 000000000..62aead628 --- /dev/null +++ b/src/test/org/apache/commons/math/stat/univariate/StatisticalSummaryValuesTest.java @@ -0,0 +1,79 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.math.stat.univariate; + + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +import org.apache.commons.math.TestUtils; +/** + * Test cases for the {@link StatisticalSummaryValues} class. + * + * @version $Revision: 1.1 $ $Date: 2004/06/29 02:21:33 $ + */ + +public final class StatisticalSummaryValuesTest extends TestCase { + + + public StatisticalSummaryValuesTest(String name) { + super(name); + } + + public void setUp() { + } + + public static Test suite() { + TestSuite suite = new TestSuite(StatisticalSummaryValuesTest.class); + suite.setName("StatisticalSummaryValues Tests"); + return suite; + } + + public void testSerialization() { + StatisticalSummaryValues u = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6); + TestUtils.checkSerializedEquality(u); + StatisticalSummaryValues t = (StatisticalSummaryValues) TestUtils.serializeAndRecover(u); + verifyEquality(u, t); + } + + public void testEqualsAndHashCode() { + StatisticalSummaryValues u = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6); + StatisticalSummaryValues t = null; + int emptyHash = u.hashCode(); + assertTrue("reflexive", u.equals(u)); + assertFalse("non-null compared to null", u.equals(t)); + assertFalse("wrong type", u.equals(new Double(0))); + t = new StatisticalSummaryValues(1, 2, 3, 4, 5, 6); + assertTrue("instances with same data should be equal", t.equals(u)); + assertEquals("hash code", u.hashCode(), t.hashCode()); + + u = new StatisticalSummaryValues(Double.NaN, 2, 3, 4, 5, 6); + t = new StatisticalSummaryValues(1, Double.NaN, 3, 4, 5, 6); + assertFalse("instances based on different data should be different", + (u.equals(t) ||t.equals(u))); + } + + private void verifyEquality(StatisticalSummaryValues s, StatisticalSummaryValues u) { + assertEquals("N",s.getN(),u.getN()); + TestUtils.assertEquals("sum",s.getSum(),u.getSum(), 0); + TestUtils.assertEquals("var",s.getVariance(),u.getVariance(), 0); + TestUtils.assertEquals("std",s.getStandardDeviation(),u.getStandardDeviation(), 0); + TestUtils.assertEquals("mean",s.getMean(),u.getMean(), 0); + TestUtils.assertEquals("min",s.getMin(),u.getMin(), 0); + TestUtils.assertEquals("max",s.getMax(),u.getMax(), 0); + } +}