    1   /*
    2    * Copyright 2003-2004 The Apache Software Foundation.
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  package org.apache.commons.math.stat.descriptive.moment;
    17
    18  import junit.framework.Test;
    19  import junit.framework.TestSuite;
    20
    21  import org.apache.commons.math.stat.descriptive.StorelessUnivariateStatisticAbstractTest;
    22  import org.apache.commons.math.stat.descriptive.UnivariateStatistic;
    23
    24  /***
    25   * Test cases for the {@link UnivariateStatistic} class.
    26   * @version $Revision: 1.1 $ $Date: 2004/10/08 05:08:20 $
    27   */
    28  public class KurtosisTest extends StorelessUnivariateStatisticAbstractTest{
    29
    30      protected Kurtosis stat;
    31
    32      /***
    33       * @param name
    34       */
    35      public KurtosisTest(String name) {
    36          super(name);
    37      }
    38
    39      public static Test suite() {
    40          TestSuite suite = new TestSuite(KurtosisTest.class);
    41          suite.setName("Kurtosis  Tests");
    42          return suite;
    43      }
    44
    45      /* (non-Javadoc)
    46       * @see org.apache.commons.math.stat.descriptive.UnivariateStatisticAbstractTest#getUnivariateStatistic()
    47       */
    48      public UnivariateStatistic getUnivariateStatistic() {
    49          return new Kurtosis();
    50      }
    51
    52      /* (non-Javadoc)
    53       * @see org.apache.commons.math.stat.descriptive.UnivariateStatisticAbstractTest#expectedValue()
    54       */
    55      public double expectedValue() {
    56          return this.kurt;
    57      }
    58
    59      /***
    60       * Make sure Double.NaN is returned iff n < 4
    61       *
    62       */
    63      public void testNaN() {
    64          Kurtosis kurt = new Kurtosis();
    65          assertTrue(Double.isNaN(kurt.getResult()));
    66          kurt.increment(1d);
    67          assertTrue(Double.isNaN(kurt.getResult()));
    68          kurt.increment(1d);
    69          assertTrue(Double.isNaN(kurt.getResult()));
    70          kurt.increment(1d);
    71          assertTrue(Double.isNaN(kurt.getResult()));
    72          kurt.increment(1d);
    73          assertFalse(Double.isNaN(kurt.getResult()));
    74      }
    75
    76  }