Unit tests should have their own tolerance settings.

This commit is contained in:
Gilles 2017-05-10 15:31:56 +02:00
parent e7b4025ee0
commit 0f3648f749
1 changed files with 4 additions and 7 deletions

View File

@ -37,7 +37,6 @@ import org.junit.Test;
* *
*/ */
public class InferenceTestUtilsTest { public class InferenceTestUtilsTest {
@Test @Test
public void testChiSquare() { public void testChiSquare() {
@ -533,25 +532,23 @@ public class InferenceTestUtilsTest {
public void testKSOneSample() throws Exception { public void testKSOneSample() throws Exception {
final NormalDistribution unitNormal = new NormalDistribution(0d, 1d); final NormalDistribution unitNormal = new NormalDistribution(0d, 1d);
final double[] sample = KolmogorovSmirnovTestTest.gaussian; final double[] sample = KolmogorovSmirnovTestTest.gaussian;
final double tol = KolmogorovSmirnovTestTest.TOLERANCE; final double tol = 1e-10;
Assert.assertEquals(0.3172069207622391, InferenceTestUtils.kolmogorovSmirnovTest(unitNormal, sample), tol); Assert.assertEquals(0.3172069207622391, InferenceTestUtils.kolmogorovSmirnovTest(unitNormal, sample), tol);
Assert.assertEquals(0.0932947561266756, InferenceTestUtils.kolmogorovSmirnovStatistic(unitNormal, sample), tol); Assert.assertEquals(0.0932947561266756, InferenceTestUtils.kolmogorovSmirnovStatistic(unitNormal, sample), tol);
} }
@Test @Test
public void testKSTwoSample() throws Exception { public void testKSTwoSample() throws Exception {
final double tol = KolmogorovSmirnovTestTest.TOLERANCE; final double tol = 1e-10;
final double[] smallSample1 = { final double[] smallSample1 = {
6, 7, 9, 13, 19, 21, 22, 23, 24 6, 7, 9, 13, 19, 21, 22, 23, 24
}; };
final double[] smallSample2 = { final double[] smallSample2 = {
10, 11, 12, 16, 20, 27, 28, 32, 44, 54 10, 11, 12, 16, 20, 27, 28, 32, 44, 54
}; };
Assert Assert.assertEquals(0.105577085453247, InferenceTestUtils.kolmogorovSmirnovTest(smallSample1, smallSample2, false), tol);
.assertEquals(0.105577085453247, InferenceTestUtils.kolmogorovSmirnovTest(smallSample1, smallSample2, false), tol);
final double d = InferenceTestUtils.kolmogorovSmirnovStatistic(smallSample1, smallSample2); final double d = InferenceTestUtils.kolmogorovSmirnovStatistic(smallSample1, smallSample2);
Assert.assertEquals(0.5, d, tol); Assert.assertEquals(0.5, d, tol);
Assert Assert.assertEquals(0.105577085453247, InferenceTestUtils.exactP(d, smallSample1.length, smallSample2.length, false), tol);
.assertEquals(0.105577085453247, InferenceTestUtils.exactP(d, smallSample1.length, smallSample2.length, false), tol);
} }
} }