1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math4.legacy.stat.descriptive.summary;
18
19 import org.apache.commons.math4.legacy.stat.descriptive.StorelessUnivariateStatistic;
20 import org.apache.commons.math4.legacy.stat.descriptive.StorelessUnivariateStatisticAbstractTest;
21 import org.apache.commons.math4.legacy.stat.descriptive.UnivariateStatistic;
22 import org.junit.Assert;
23 import org.junit.Test;
24
25
26
27
28 public class SumSqTest extends StorelessUnivariateStatisticAbstractTest{
29
30 protected SumOfSquares stat;
31
32
33
34
35 @Override
36 public UnivariateStatistic getUnivariateStatistic() {
37 return new SumOfSquares();
38 }
39
40
41
42
43 @Override
44 public double expectedValue() {
45 return this.sumSq;
46 }
47
48 @Test
49 public void testSpecialValues() {
50 SumOfSquares sumSq = new SumOfSquares();
51 Assert.assertEquals(0, sumSq.getResult(), 0);
52 sumSq.increment(2d);
53 Assert.assertEquals(4d, sumSq.getResult(), 0);
54 sumSq.increment(Double.POSITIVE_INFINITY);
55 Assert.assertEquals(Double.POSITIVE_INFINITY, sumSq.getResult(), 0);
56 sumSq.increment(Double.NEGATIVE_INFINITY);
57 Assert.assertEquals(Double.POSITIVE_INFINITY, sumSq.getResult(), 0);
58 sumSq.increment(Double.NaN);
59 Assert.assertTrue(Double.isNaN(sumSq.getResult()));
60 sumSq.increment(1);
61 Assert.assertTrue(Double.isNaN(sumSq.getResult()));
62 }
63
64 @Override
65 protected void checkClearValue(StorelessUnivariateStatistic statistic) {
66 Assert.assertEquals(0, statistic.getResult(), 0);
67 }
68 }