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  }