/** * Test for {@link SimpleSymbolPropertyTableDB#addTable(SymbolPropertyTable)}. * * @throws IllegalIDException if {@link SymbolPropertyTableDB#table(String)} fails. */ public void testAddTable() throws IllegalIDException { SimpleSymbolPropertyTableDB db = new SimpleSymbolPropertyTableDB(); SymbolPropertyTable t1 = new SimpleSymbolPropertyTable(ProteinTools.getAlphabet(), "protein"); SymbolPropertyTable t2 = new SimpleSymbolPropertyTable(DNATools.getDNA(), "dna"); db.addTable(t1); assertEquals("Database has wrong number of tables.", 1, db.numTables()); db.addTable(t2); assertEquals("Database has wrong number of tables.", 2, db.numTables()); assertEquals("Database returned wrong table.", t1, db.table("protein")); assertEquals("Database returned wrong table.", t2, db.table("dna")); Set names = db.names(); assertTrue("Table is missing.", names.contains("protein")); assertTrue("Table is missing.", names.contains("dna")); assertEquals("Database has wrong number of tables.", 2, names.size()); try { db.addTable(null); fail("addTable must throw NullPointerException."); } catch (NullPointerException e) { e.printStackTrace(); } }