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 SumTest extends StorelessUnivariateStatisticAbstractTest{
29
30 protected Sum stat;
31
32
33
34
35 @Override
36 public UnivariateStatistic getUnivariateStatistic() {
37 return new Sum();
38 }
39
40
41
42
43 @Override
44 public double expectedValue() {
45 return this.sum;
46 }
47
48
49 public double expectedWeightedValue() {
50 return this.weightedSum;
51 }
52
53 @Test
54 public void testSpecialValues() {
55 Sum sum = new Sum();
56 Assert.assertEquals(0, sum.getResult(), 0);
57 sum.increment(1);
58 Assert.assertEquals(1, sum.getResult(), 0);
59 sum.increment(Double.POSITIVE_INFINITY);
60 Assert.assertEquals(Double.POSITIVE_INFINITY, sum.getResult(), 0);
61 sum.increment(Double.NEGATIVE_INFINITY);
62 Assert.assertTrue(Double.isNaN(sum.getResult()));
63 sum.increment(1);
64 Assert.assertTrue(Double.isNaN(sum.getResult()));
65 }
66
67 @Test
68 public void testWeightedSum() {
69 Sum sum = new Sum();
70 Assert.assertEquals(expectedWeightedValue(),
71 sum.evaluate(testArray, testWeightsArray, 0, testArray.length), getTolerance());
72 Assert.assertEquals(expectedValue(),
73 sum.evaluate(testArray, unitWeightsArray, 0, testArray.length), getTolerance());
74 }
75
76 @Override
77 protected void checkClearValue(StorelessUnivariateStatistic statistic) {
78 Assert.assertEquals(0, statistic.getResult(), 0);
79 }
80 }