001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.commons.math.stat.descriptive;
018
019 import org.apache.commons.math.stat.descriptive.moment.FourthMoment;
020 import org.apache.commons.math.stat.descriptive.moment.Kurtosis;
021 import org.apache.commons.math.stat.descriptive.moment.Mean;
022 import org.apache.commons.math.stat.descriptive.moment.Skewness;
023 import org.apache.commons.math.stat.descriptive.moment.Variance;
024
025 import junit.framework.TestCase;
026
027 /**
028 * @version $Revision: 670469 $ $Date: 2008-06-23 04:01:38 -0400 (Mon, 23 Jun 2008) $
029 */
030 public class InteractionTest extends TestCase {
031
032 protected double mean = 12.40454545454550;
033 protected double var = 10.00235930735930;
034 protected double skew = 1.437423729196190;
035 protected double kurt = 2.377191264804700;
036
037 protected double tolerance = 10E-12;
038
039 protected double[] testArray =
040 {
041 12.5,
042 12,
043 11.8,
044 14.2,
045 14.9,
046 14.5,
047 21,
048 8.2,
049 10.3,
050 11.3,
051 14.1,
052 9.9,
053 12.2,
054 12,
055 12.1,
056 11,
057 19.8,
058 11,
059 10,
060 8.8,
061 9,
062 12.3 };
063
064 public InteractionTest(String name) {
065 super(name);
066 }
067
068
069 public void testInteraction() {
070
071 FourthMoment m4 = new FourthMoment();
072 Mean m = new Mean(m4);
073 Variance v = new Variance(m4);
074 Skewness s= new Skewness(m4);
075 Kurtosis k = new Kurtosis(m4);
076
077 for (int i = 0; i < testArray.length; i++){
078 m4.increment(testArray[i]);
079 }
080
081 assertEquals(mean,m.getResult(),tolerance);
082 assertEquals(var,v.getResult(),tolerance);
083 assertEquals(skew ,s.getResult(),tolerance);
084 assertEquals(kurt,k.getResult(),tolerance);
085
086 }
087
088 }