1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.hipparchus.stat.descriptive.rank;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26
27 import org.hipparchus.stat.descriptive.StorelessUnivariateStatisticAbstractTest;
28 import org.junit.Test;
29
30
31
32
33 public class MaxTest extends StorelessUnivariateStatisticAbstractTest {
34
35 @Override
36 public Max getUnivariateStatistic() {
37 return new Max();
38 }
39
40 @Override
41 public double expectedValue() {
42 return this.max;
43 }
44
45 @Test
46 public void testSpecialValues() {
47 double[] testArray = {0d, Double.NaN, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY};
48 Max max = getUnivariateStatistic();
49 assertTrue(Double.isNaN(max.getResult()));
50 max.increment(testArray[0]);
51 assertEquals(0d, max.getResult(), 0);
52 max.increment(testArray[1]);
53 assertEquals(0d, max.getResult(), 0);
54 max.increment(testArray[2]);
55 assertEquals(0d, max.getResult(), 0);
56 max.increment(testArray[3]);
57 assertEquals(Double.POSITIVE_INFINITY, max.getResult(), 0);
58 assertEquals(Double.POSITIVE_INFINITY, max.evaluate(testArray), 0);
59 }
60
61 @Test
62 public void testNaNs() {
63 Max max = getUnivariateStatistic();
64 double nan = Double.NaN;
65 assertEquals(3d, max.evaluate(new double[]{nan, 2d, 3d}), 0);
66 assertEquals(3d, max.evaluate(new double[]{1d, nan, 3d}), 0);
67 assertEquals(2d, max.evaluate(new double[]{1d, 2d, nan}), 0);
68 assertTrue(Double.isNaN(max.evaluate(new double[]{nan, nan, nan})));
69 }
70
71 }