### Question:
Column { @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (! getClass().isAssignableFrom(obj.getClass())) return false; Column that = (Column) obj; return name.equalsIgnoreCase(that.name); } Column(String name, Type type); String name(); Type type(); boolean isA(Column.Type type); boolean accept(Object value); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void equalityIsCaseInsensitive() { Column ANOTHER_NAME = new Column("NAME", Column.Type.TEXT); assertTrue(NAME.equals(ANOTHER_NAME)); }
@Test public void equalityIsBasedOnlyOnName() { Column name2 = new Column("name", Column.Type.NUMBER); assertTrue(NAME.equals(name2)); }