You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ps...@apache.org on 2004/06/29 04:21:33 UTC

cvs commit: jakarta-commons/math/src/test/org/apache/commons/math/stat/univariate StatisticalSummaryValuesTest.java

psteitz     2004/06/28 19:21:33

  Added:       math/src/test/org/apache/commons/math/stat/univariate
                        StatisticalSummaryValuesTest.java
  Log:
  Added tests for StatisticalSummaryValues.
  
  Revision  Changes    Path
  1.1                  jakarta-commons/math/src/test/org/apache/commons/math/stat/univariate/StatisticalSummaryValuesTest.java
  
  Index: StatisticalSummaryValuesTest.java
  ===================================================================
  /*
   * 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);   
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org