// HistogramTest.java package net.sf.gogui.util; public final class HistogramTest 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(HistogramTest.class); } public void testBasic() throws ErrorMessage { Histogram h = new Histogram(0.0, 10.0, 2.0); h.add(5.5); h.add(9.0); h.add(8.5); h.add(5.0); double epsilon = 1e-7; assertEquals(4, h.getCount()); assertEquals(0, h.getCount(0)); assertEquals(0, h.getCount(1)); assertEquals(2, h.getCount(2)); assertEquals(0, h.getCount(3)); assertEquals(2, h.getCount(4)); assertEquals(5, h.getSize()); assertEquals(2.0, h.getStep(), epsilon); assertEquals(0.0, h.getValue(0), epsilon); assertEquals(2.0, h.getValue(1), epsilon); assertEquals(4.0, h.getValue(2), epsilon); assertEquals(6.0, h.getValue(3), epsilon); assertEquals(8.0, h.getValue(4), epsilon); } /** Test adding values that are equal to min and max. */ public void testBorderValues() throws ErrorMessage { Histogram h = new Histogram(0.0, 1.0, 1.0); h.add(0.0); h.add(1.0); double epsilon = 1e-7; assertEquals(2, h.getCount()); assertEquals(2, h.getCount(0)); assertEquals(1, h.getSize()); assertEquals(1.0, h.getStep(), epsilon); assertEquals(0.0, h.getValue(0), epsilon); } }