/**
  * 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();
   }
 }