1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /*
19 * This is not the original file distributed by the Apache Software Foundation
20 * It has been modified by the Hipparchus project
21 */
22 package org.hipparchus.stat.descriptive.moment;
23
24 import org.junit.jupiter.api.Test;
25
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27
28
29 /**
30 * Test class for use of external moments.
31 */
32 class InteractionTest {
33
34 protected double mean = 12.40454545454550;
35 protected double var = 10.00235930735930;
36 protected double skew = 1.437423729196190;
37 protected double kurt = 2.377191264804700;
38
39 protected double tolerance = 10E-12;
40
41 protected double[] testArray = {
42 12.5, 12, 11.8, 14.2, 14.9, 14.5, 21, 8.2, 10.3, 11.3, 14.1,
43 9.9, 12.2, 12, 12.1, 11, 19.8, 11, 10, 8.8, 9, 12.3
44 };
45
46 @Test
47 void testInteraction() {
48
49 FourthMoment m4 = new FourthMoment();
50 Mean m = new Mean(m4);
51 Variance v = new Variance(m4);
52 Skewness s= new Skewness(m4);
53 Kurtosis k = new Kurtosis(m4);
54
55 for (int i = 0; i < testArray.length; i++){
56 m4.increment(testArray[i]);
57 }
58
59 assertEquals(mean, m.getResult(), tolerance);
60 assertEquals(var, v.getResult(), tolerance);
61 assertEquals(skew, s.getResult(), tolerance);
62 assertEquals(kurt, k.getResult(), tolerance);
63 }
64
65 }