### Question:
AssetSchemaAttribute extends AssetReferenceable { @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; } AssetSchemaAttribute that = (AssetSchemaAttribute) objectToCompare; return Objects.equals(schemaAttributeBean, that.schemaAttributeBean); } protected  AssetSchemaAttribute(SchemaAttribute schemaAttributeBean);  AssetSchemaAttribute(AssetDescriptor parentAsset,
                                SchemaAttribute schemaAttributeBean);  AssetSchemaAttribute(AssetDescriptor parentAsset, AssetSchemaAttribute template); AssetSchemaAttribute cloneAssetSchemaAttribute(AssetDescriptor parentAsset); String getAttributeName(); int getElementPosition(); SchemaAttributeCategory getCategory(); String getCardinality(); int getMinCardinality(); int getMaxCardinality(); boolean allowsDuplicateValues(); boolean hasOrderedValues(); DataItemSortOrder getSortOrder(); String getDefaultValueOverride(); @Deprecated AssetSchemaType getLocalSchemaType(); AssetSchemaType getAttributeType(); AssetSchemaLink getExternalSchemaLink(); List<AssetSchemaAttributeRelationship> getAttributeRelationships(); @Override String toString(); @Override boolean equals(Object objectToCompare);  }### Answer:
@Test public void testEquals() { assertFalse(getTestObject().equals(null)); assertFalse(getTestObject().equals("DummyString")); assertTrue(getTestObject().equals(getTestObject())); AssetSchemaAttribute sameObject = getTestObject(); assertTrue(sameObject.equals(sameObject)); assertFalse(getTestObject().equals(getDifferentObject())); assertFalse(getTestObject().equals(getAnotherDifferentObject())); }