### Question:
UpdatedAssetEvent extends AssetEvent { @Override public boolean equals(Object objectToCompare) { if (this == objectToCompare) { return true; } if (objectToCompare == null || getClass() != objectToCompare.getClass()) { return false; } if (!super.equals(objectToCompare)) { return false; } UpdatedAssetEvent that = (UpdatedAssetEvent) objectToCompare; return Objects.equals(getUpdateTime(), that.getUpdateTime()) && Objects.equals(getOriginalAsset(), that.getOriginalAsset()); } UpdatedAssetEvent();  UpdatedAssetEvent(UpdatedAssetEvent template); Date getUpdateTime(); void setUpdateTime(Date updateTime); Asset getOriginalAsset(); void setOriginalAsset(Asset originalAsset); @Override String toString(); @Override boolean equals(Object objectToCompare); @Override int hashCode();  }### Answer:
@Test public void testEquals() { assertFalse(getTestObject().equals(null)); assertFalse(getTestObject().equals("DummyString")); assertTrue(getTestObject().equals(getTestObject())); UpdatedAssetEvent sameObject = getTestObject(); assertTrue(sameObject.equals(sameObject)); UpdatedAssetEvent differentObject = getTestObject(); differentObject.setUpdateTime(new Date()); assertFalse(getTestObject().equals(differentObject)); UpdatedAssetEvent anotherObject = getTestObject(); anotherObject.setEventVersionId(3773L); assertFalse(getTestObject().equals(anotherObject)); }