### Question:
OpenMetadataArchiveTypeStore extends OpenMetadataArchiveElementHeader { @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) { return true; } if (objectToCompare == null || getClass() != objectToCompare.getClass()) { return false; } OpenMetadataArchiveTypeStore that = (OpenMetadataArchiveTypeStore) objectToCompare; return Objects.equals(getAttributeTypeDefs(), that.getAttributeTypeDefs()) && Objects.equals(getTypeDefPatches(), that.getTypeDefPatches()) && Objects.equals(getNewTypeDefs(), that.getNewTypeDefs()); } OpenMetadataArchiveTypeStore();  OpenMetadataArchiveTypeStore(OpenMetadataArchiveTypeStore   template); List<AttributeTypeDef> getAttributeTypeDefs(); void setAttributeTypeDefs(List<AttributeTypeDef> attributeTypeDefs); List<TypeDefPatch> getTypeDefPatches(); void setTypeDefPatches(List<TypeDefPatch> typeDefPatches); List<TypeDef> getNewTypeDefs(); void setNewTypeDefs(List<TypeDef> newTypeDefs); @Override String toString(); @Override boolean equals(Object objectToCompare); @Override int hashCode();  }### Answer:
@Test public void testEquals() { assertTrue(getTestObject().equals(getTestObject())); OpenMetadataArchiveTypeStore testObject = getTestObject(); assertTrue(testObject.equals(testObject)); assertFalse(getTestObject().equals(null)); assertFalse(getTestObject().equals("A String")); OpenMetadataArchiveTypeStore differentObject = getTestObject(); differentObject.setAttributeTypeDefs(new ArrayList<>()); assertFalse(testObject.equals(differentObject)); differentObject = getTestObject(); differentObject.setNewTypeDefs(new ArrayList<>()); assertFalse(testObject.equals(differentObject)); differentObject = getTestObject(); differentObject.setTypeDefPatches(new ArrayList<>()); assertFalse(testObject.equals(differentObject)); }