@Override public int getCount() { return delegate.getCount(); }
@Override public int getCount() { return delegate.getCount(); }
@Override public int getCount() { return delegate.getCount(); }
@Test public void testAverageAndStdDev() { RunningAverageAndStdDev avg = new FullRunningAverageAndStdDev(); RunningAverageAndStdDev inverted = new InvertedRunningAverageAndStdDev(avg); assertEquals(0, inverted.getCount()); avg.addDatum(1.0); assertEquals(1, inverted.getCount()); assertEquals(-1.0, inverted.getAverage(), EPSILON); avg.addDatum(2.0); assertEquals(2, inverted.getCount()); assertEquals(-1.5, inverted.getAverage(), EPSILON); assertEquals(Math.sqrt(2.0)/2.0, inverted.getStandardDeviation(), EPSILON); }
@Test public void testStddev() { RunningAverageAndStdDev runningAverage = new FullRunningAverageAndStdDev(); assertEquals(0, runningAverage.getCount()); assertTrue(Double.isNaN(runningAverage.getAverage())); runningAverage.addDatum(1.0); assertEquals(1, runningAverage.getCount()); assertEquals(1.0, runningAverage.getAverage(), EPSILON); assertTrue(Double.isNaN(runningAverage.getStandardDeviation())); runningAverage.addDatum(1.0); assertEquals(2, runningAverage.getCount()); assertEquals(1.0, runningAverage.getAverage(), EPSILON); assertEquals(0.0, runningAverage.getStandardDeviation(), EPSILON); runningAverage.addDatum(7.0); assertEquals(3, runningAverage.getCount()); assertEquals(3.0, runningAverage.getAverage(), EPSILON); assertEquals(3.464101552963257, runningAverage.getStandardDeviation(), EPSILON); runningAverage.addDatum(5.0); assertEquals(4, runningAverage.getCount()); assertEquals(3.5, runningAverage.getAverage(), EPSILON); assertEquals(3.0, runningAverage.getStandardDeviation(), EPSILON); }
@Test public void testFull() { RunningAverageAndStdDev average = new FullRunningAverageAndStdDev(); assertEquals(0, average.getCount()); assertTrue(Double.isNaN(average.getAverage())); assertTrue(Double.isNaN(average.getStandardDeviation())); average.addDatum(6.0); assertEquals(1, average.getCount()); assertEquals(6.0, average.getAverage(), EPSILON); assertTrue(Double.isNaN(average.getStandardDeviation())); average.addDatum(6.0); assertEquals(2, average.getCount()); assertEquals(6.0, average.getAverage(), EPSILON); assertEquals(0.0, average.getStandardDeviation(), EPSILON); average.removeDatum(6.0); assertEquals(1, average.getCount()); assertEquals(6.0, average.getAverage(), EPSILON); assertTrue(Double.isNaN(average.getStandardDeviation())); average.addDatum(-4.0); assertEquals(2, average.getCount()); assertEquals(1.0, average.getAverage(), EPSILON); assertEquals(5.0 * 1.4142135623730951, average.getStandardDeviation(), EPSILON); average.removeDatum(4.0); assertEquals(1, average.getCount()); assertEquals(-2.0, average.getAverage(), EPSILON); assertTrue(Double.isNaN(average.getStandardDeviation())); }