### Question:
Person { @SuppressWarnings("NonFinalFieldReferenceInEquals") @Override public boolean equals(final Object o) { if (this == o) return true; if ((o == null) || (getClass() != o.getClass())) return false; final Person person = (Person) o; return equal(id, person.id) && equal(firstName, person.firstName) && equal(lastName, person.lastName) && equal(birthday, person.birthday); }  String getId(); void setId(final String id); String getFirstName(); void setFirstName(final String firstName); String getLastName(); void setLastName(final String lastName); LocalDate getBirthday(); void setBirthday(final LocalDate birthday); @SuppressWarnings("NonFinalFieldReferenceInEquals") @Override boolean equals(final Object o); @SuppressWarnings("NonFinalFieldReferencedInHashCode") @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testEquals() { assertThat(person).isNotEqualTo(other); assertThat(person).isNotEqualTo(null); assertThat(person).isEqualTo(person); }