1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math.stat.descriptive;
18
19 import junit.framework.TestCase;
20
21
22
23
24
25 public abstract class UnivariateStatisticAbstractTest extends TestCase {
26
27 protected double mean = 12.404545454545455d;
28 protected double geoMean = 12.070589161633011d;
29
30 protected double var = 10.00235930735931d;
31 protected double std = Math.sqrt(var);
32 protected double skew = 1.437423729196190d;
33 protected double kurt = 2.377191264804700d;
34
35 protected double min = 8.2d;
36 protected double max = 21d;
37 protected double median = 12d;
38 protected double percentile5 = 8.29d;
39 protected double percentile95 = 20.82d;
40
41 protected double product = 628096400563833396009676.9200400128d;
42 protected double sumLog = 54.7969806116451507d;
43 protected double sumSq = 3595.250d;
44 protected double sum = 272.90d;
45 protected double secondMoment = 210.04954545454547d;
46 protected double thirdMoment = 868.0906859504136;
47 protected double fourthMoment = 9244.080993773481;
48
49 protected double tolerance = 10E-12;
50
51 protected double[] testArray =
52 {12.5, 12, 11.8, 14.2, 14.9, 14.5, 21, 8.2, 10.3, 11.3,
53 14.1, 9.9, 12.2, 12, 12.1, 11, 19.8, 11, 10, 8.8,
54 9, 12.3 };
55
56 public UnivariateStatisticAbstractTest(String name) {
57 super(name);
58 }
59
60 public abstract UnivariateStatistic getUnivariateStatistic();
61
62 public abstract double expectedValue();
63
64 public double getTolerance() {
65 return tolerance;
66 }
67
68 public void testEvaluation() throws Exception {
69 assertEquals(
70 expectedValue(),
71 getUnivariateStatistic().evaluate(testArray),
72 getTolerance());
73 }
74
75 public void testCopy() throws Exception {
76 UnivariateStatistic original = getUnivariateStatistic();
77 UnivariateStatistic copy = original.copy();
78 assertEquals(
79 expectedValue(),
80 copy.evaluate(testArray),
81 getTolerance());
82 }
83
84 }