### Question:
OpenMetadataArchive extends OpenMetadataArchiveElementHeader { @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) { return true; } if (objectToCompare == null || getClass() != objectToCompare.getClass()) { return false; } OpenMetadataArchive that = (OpenMetadataArchive) objectToCompare; return Objects.equals(getArchiveProperties(), that.getArchiveProperties()) && Objects.equals(getArchiveTypeStore(), that.getArchiveTypeStore()) && Objects.equals(getArchiveInstanceStore(), that.getArchiveInstanceStore()); } OpenMetadataArchive();  OpenMetadataArchive(OpenMetadataArchive   template); OpenMetadataArchiveProperties getArchiveProperties(); void setArchiveProperties(OpenMetadataArchiveProperties archiveProperties); OpenMetadataArchiveTypeStore getArchiveTypeStore(); void setArchiveTypeStore(OpenMetadataArchiveTypeStore archiveTypeStore); OpenMetadataArchiveInstanceStore getArchiveInstanceStore(); void setArchiveInstanceStore(OpenMetadataArchiveInstanceStore archiveInstanceStore); @Override String toString(); @Override boolean equals(Object objectToCompare); @Override int hashCode();  }### Answer:
@Test public void testEquals() { assertTrue(getTestObject().equals(getTestObject())); OpenMetadataArchive testObject = getTestObject(); assertTrue(testObject.equals(testObject)); assertFalse(getTestObject().equals(null)); assertFalse(getTestObject().equals("A String")); OpenMetadataArchive differentObject = getTestObject(); differentObject.setArchiveProperties(null); assertFalse(testObject.equals(differentObject)); differentObject = getTestObject(); differentObject.setArchiveInstanceStore(null); assertFalse(testObject.equals(differentObject)); differentObject = getTestObject(); differentObject.setArchiveTypeStore(null); assertFalse(testObject.equals(differentObject)); }