// StatisticsTest.java package net.sf.gogui.util; public final class StatisticsTest extends junit.framework.TestCase { public static void main(String args[]) { junit.textui.TestRunner.run(suite()); } public static junit.framework.Test suite() { return new junit.framework.TestSuite(StatisticsTest.class); } public void testBasic() throws ErrorMessage { Statistics s = new Statistics(); s.add(6.0); s.add(9.0); s.add(8.0); s.add(5.0); double epsilon = 1e-7; double sum = 6.0 + 9.0 + 8.0 + 5.0; int count = 4; double min = 5.0; double max = 9.0; double mean = sum / count; double variance = (Math.pow(6.0 - mean, 2) + Math.pow(9.0 - mean, 2) + Math.pow(8.0 - mean, 2) + Math.pow(5.0 - mean, 2)) / count; double deviation = Math.sqrt(variance); double error = Math.sqrt(variance / count); assertEquals(count, s.getCount()); assertEquals(deviation, s.getDeviation(), epsilon); assertEquals(error, s.getError(), epsilon); assertEquals(mean, s.getMean(), epsilon); assertEquals(min, s.getMin(), epsilon); assertEquals(max, s.getMax(), epsilon); assertEquals(sum, s.getSum(), epsilon); assertEquals(Math.sqrt((double)count / 2) * error, s.getMaxError(2), epsilon); } }