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