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.apache.commons.math4.legacy.exception.MathIllegalArgumentException;
20 import org.junit.Before;
21 import org.junit.Test;
22
23
24
25
26
27 public abstract class BinomialConfidenceIntervalAbstractTest {
28
29 protected BinomialConfidenceInterval testStatistic;
30
31 private final int successes = 50;
32 private final int trials = 500;
33 private final double confidenceLevel = 0.9;
34
35 protected abstract BinomialConfidenceInterval createBinomialConfidenceInterval();
36
37
38
39
40
41
42
43
44
45
46
47 protected ConfidenceInterval createStandardTestInterval() {
48 return testStatistic.createInterval(trials, successes, confidenceLevel);
49 }
50
51 @Before
52 public void setUp() {
53 testStatistic = createBinomialConfidenceInterval();
54 }
55
56 @Test(expected = MathIllegalArgumentException.class)
57 public void testZeroConfidencelevel() {
58 testStatistic.createInterval(trials, successes, 0d);
59 }
60
61 @Test(expected = MathIllegalArgumentException.class)
62 public void testOneConfidencelevel() {
63 testStatistic.createInterval(trials, successes, 1d);
64 }
65
66 @Test(expected = MathIllegalArgumentException.class)
67 public void testZeroTrials() {
68 testStatistic.createInterval(0, 0, confidenceLevel);
69 }
70
71 @Test(expected = MathIllegalArgumentException.class)
72 public void testNegativeSuccesses() {
73 testStatistic.createInterval(trials, -1, confidenceLevel);
74 }
75
76 @Test(expected = MathIllegalArgumentException.class)
77 public void testSuccessesExceedingTrials() {
78 testStatistic.createInterval(trials, trials + 1, confidenceLevel);
79 }
80 }