@Test(expectedExceptions = IllegalArgumentException.class) public void testHighPercentile() { new PercentileCalculator(1); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testEmptyArray() { CALCULATOR.apply(new double[0]); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testSetHighPercentile() { CALCULATOR.setPercentile(1); }
@Test public void testExtremes() { final double[] y = Arrays.copyOf(X, X.length); Arrays.sort(y); CALCULATOR.setPercentile(1e-15); assertEquals(CALCULATOR.apply(X), y[0], 0); CALCULATOR.setPercentile(1 - 1e-15); assertEquals(CALCULATOR.apply(X), y[N - 1], 0); }
private void assertResult(final double[] x, final int percentile) { final double[] copy = Arrays.copyOf(x, N); Arrays.sort(copy); int count = 0; CALCULATOR.setPercentile(((double) percentile) / N); final double value = CALCULATOR.apply(x); while (copy[count++] < value) { //intended } assertEquals(count - 1, percentile); } }
@Test(expectedExceptions = IllegalArgumentException.class) public void testSetLowPercentile() { CALCULATOR.setPercentile(0); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullArray() { CALCULATOR.apply((double[]) null); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testLowPercentile() { new PercentileCalculator(0); }