/** Tests that adding and removing a container will fire the correct event from the query. */ public void testContainerFiresEvent() throws Exception { CountingChangeListener listener = new CountingChangeListener(); QueryImpl query = new QueryImpl(new StubDatabaseMapping()); query.addQueryChangeListener(listener); Container container = new ItemContainer("container"); Item item = new StringItem("name"); container.addItem(item); assertEquals(0, listener.getContainerAddedCount()); query.addTable(container); assertEquals(1, listener.getContainerAddedCount()); QueryChangeEvent evt = listener.getLastQueryChangeEvent(); assertEquals(container, evt.getContainerChanged()); assertEquals(query, evt.getSource()); assertEquals(0, listener.getContainerRemovedCount()); query.removeTable(container); assertEquals(1, listener.getContainerRemovedCount()); evt = listener.getLastQueryChangeEvent(); assertEquals(container, evt.getContainerChanged()); assertEquals(query, evt.getSource()); }