// TableTest.java package net.sf.gogui.util; import java.io.StringReader; import java.util.ArrayList; public final class TableTest 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(TableTest.class); } public void testBasic() throws Exception { Table table = get("#\n" + "#Col1\tCol2\tCol3\n" + "1\t2\t1\n" + "2\tfoo\tbar\n"); assertEquals(3, table.getNumberColumns()); assertEquals("Col1", table.getColumnTitle(0)); assertEquals("Col2", table.getColumnTitle(1)); assertEquals("Col3", table.getColumnTitle(2)); assertEquals("1", table.get("Col1", 0)); assertEquals("2", table.get("Col2", 0)); assertEquals("1", table.get("Col3", 0)); assertEquals("2", table.get(0, 1)); assertEquals("foo", table.get(1, 1)); assertEquals("bar", table.get(2, 1)); } public void testGetDouble() throws ErrorMessage { ArrayList<String> columnTitles = new ArrayList<String>(); columnTitles.add("Column 1"); columnTitles.add("Column 2"); Table table = new Table(columnTitles); table.startRow(); table.set(0, "1.23"); table.set(1, "abc"); table.startRow(); table.set(0, ""); table.set(1, null); assertEquals(1.23, table.getDouble(0, 0), 1e-3); boolean errorThrown = false; try { table.getDouble(1, 0); } catch (ErrorMessage e) { errorThrown = true; } assertTrue(errorThrown); errorThrown = false; try { table.getDouble(0, 1); } catch (ErrorMessage e) { errorThrown = true; } assertTrue(errorThrown); errorThrown = false; try { table.getDouble(1, 1); } catch (ErrorMessage e) { errorThrown = true; } assertTrue(errorThrown); } public void testGetInt() throws ErrorMessage { ArrayList<String> columnTitles = new ArrayList<String>(); columnTitles.add("Column 1"); columnTitles.add("Column 2"); Table table = new Table(columnTitles); table.startRow(); table.set(0, "123"); table.set(1, "abc"); table.startRow(); table.set(0, ""); table.set(1, null); assertEquals(123, table.getInt(0, 0)); boolean errorThrown = false; try { table.getInt(1, 0); } catch (ErrorMessage e) { errorThrown = true; } assertTrue(errorThrown); errorThrown = false; try { table.getInt(0, 1); } catch (ErrorMessage e) { errorThrown = true; } assertTrue(errorThrown); errorThrown = false; try { table.getInt(1, 1); } catch (ErrorMessage e) { errorThrown = true; } assertTrue(errorThrown); } private static Table get(String string) throws Exception { Table table = new Table(); table.read(new StringReader(string)); return table; } }