### Question:
TypeDefProperties extends TypeDefElementHeader { @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) { return true; } if (!(objectToCompare instanceof TypeDefProperties)) { return false; } TypeDefProperties that = (TypeDefProperties) objectToCompare; return Objects.equals(getTypeDefProperties(), that.getTypeDefProperties()); } TypeDefProperties();  TypeDefProperties(TypeDefProperties templateProperties); Map<String, Object> getTypeDefProperties(); void setTypeDefProperties(Map<String, Object> typeDefProperties); @Override String toString(); @Override boolean equals(Object objectToCompare); @Override int hashCode();  }### Answer:
@Test public void testEquals() { assertTrue(getTestObject().equals(getTestObject())); TypeDefProperties testObject = getTestObject(); assertTrue(testObject.equals(testObject)); assertFalse(getTestObject().equals(null)); assertFalse(getTestObject().equals("AString")); assertFalse(getTestObject().equals(new CollectionDef())); }