1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math4.legacy.stat.interval;
18
19 import org.junit.Assert;
20 import org.junit.Test;
21
22
23
24
25
26 public class IntervalUtilsTest {
27
28 private final int successes = 50;
29 private final int trials = 500;
30 private final double confidenceLevel = 0.9;
31
32
33 private final double eps = 0.0;
34
35 @Test
36 public void testAgrestiCoull() {
37 checkConfidenceIntervals(new AgrestiCoullInterval().createInterval(trials, successes, confidenceLevel),
38 IntervalUtils.getAgrestiCoullInterval(trials, successes, confidenceLevel));
39 }
40
41 @Test
42 public void testClopperPearson() {
43 checkConfidenceIntervals(new ClopperPearsonInterval().createInterval(trials, successes, confidenceLevel),
44 IntervalUtils.getClopperPearsonInterval(trials, successes, confidenceLevel));
45 }
46
47 @Test
48 public void testNormalApproximation() {
49 checkConfidenceIntervals(new NormalApproximationInterval().createInterval(trials, successes, confidenceLevel),
50 IntervalUtils.getNormalApproximationInterval(trials, successes, confidenceLevel));
51 }
52
53 @Test
54 public void testWilsonScore() {
55 checkConfidenceIntervals(new WilsonScoreInterval().createInterval(trials, successes, confidenceLevel),
56 IntervalUtils.getWilsonScoreInterval(trials, successes, confidenceLevel));
57 }
58
59 private void checkConfidenceIntervals(ConfidenceInterval expected, ConfidenceInterval actual) {
60 Assert.assertEquals(expected.getLowerBound(), actual.getLowerBound(), eps);
61 Assert.assertEquals(expected.getUpperBound(), actual.getUpperBound(), eps);
62 Assert.assertEquals(expected.getConfidenceLevel(), actual.getConfidenceLevel(), eps);
63 }
64 }