### Question:
BaseEntity extends UniqueIdEntity implements BaseProjection, SetupFileProjection { @Override public int hashCode() { return super.hashCode(); } BaseEntity(); @Override Optional<String> getDescription(); void setDescription(@Nullable final String description); @Override Optional<JsonNode> getMetadata(); void setMetadata(@Nullable final JsonNode metadata); @Override Optional<FileEntity> getSetupFile(); void setSetupFile(@Nullable final FileEntity setupFile); @Override boolean equals(final Object o); @Override int hashCode();  }### Answer:
@Test void testEqualsAndHashCode() { final String id = UUID.randomUUID().toString(); final String name = UUID.randomUUID().toString(); final BaseEntity one = new BaseEntity(); one.setUniqueId(id); one.setName(UUID.randomUUID().toString()); final BaseEntity two = new BaseEntity(); two.setUniqueId(id); two.setName(name); final BaseEntity three = new BaseEntity(); three.setUniqueId(UUID.randomUUID().toString()); three.setName(name); Assertions.assertThat(one).isEqualTo(two); Assertions.assertThat(one).isNotEqualTo(three); Assertions.assertThat(two).isNotEqualTo(three); Assertions.assertThat(one.hashCode()).isEqualTo(two.hashCode()); Assertions.assertThat(one.hashCode()).isNotEqualTo(three.hashCode()); Assertions.assertThat(two.hashCode()).isNotEqualTo(three.hashCode()); }