    @Test
    public void testEqualsAndHashCode() throws Exception {

        MutableSchema schema1 = new MutableSchema("foo");
        MutableSchema schema2 = new MutableSchema("foo");

        assertTrue(schema1.equals(schema2));
        assertTrue(schema1.hashCode() == schema2.hashCode());

        schema2.addTable(new MutableTable("foo"));
        assertFalse(schema1.equals(schema2));
        assertTrue(schema1.hashCode() == schema2.hashCode());

        schema2 = new MutableSchema("foo");
        assertTrue(schema1.equals(schema2));
        assertTrue(schema1.hashCode() == schema2.hashCode());
    }