use of org.assertj.core.internal.objects.data.Person in project assertj-core by joel-costigliola.
the class RecursiveComparisonAssert_isEqualTo_Test method should_pass_when_actual_and_expected_are_null.
@Test
void should_pass_when_actual_and_expected_are_null() {
// GIVEN
Person actual = null;
Person expected = null;
// THEN
assertThat(actual).usingRecursiveComparison().isEqualTo(expected);
}
use of org.assertj.core.internal.objects.data.Person in project assertj-core by joel-costigliola.
the class RecursiveComparisonAssert_isEqualTo_Test method should_propagate_comparators_by_type.
@Test
void should_propagate_comparators_by_type() {
// GIVEN
Person actual = new Person("John");
// WHEN
RecursiveComparisonConfiguration assertion = assertThat(actual).usingComparatorForType(ALWAYS_EQUALS_STRING, String.class).usingRecursiveComparison().getRecursiveComparisonConfiguration();
// THEN
assertThat(assertion.comparatorByTypes()).contains(entry(String.class, ALWAYS_EQUALS_STRING));
}
use of org.assertj.core.internal.objects.data.Person in project assertj-core by joel-costigliola.
the class RecursiveComparisonAssert_isEqualTo_Test method should_be_able_to_compare_objects_with_percentages.
@Test
void should_be_able_to_compare_objects_with_percentages() {
// GIVEN
Person actual = new Person("foo");
Person expected = new Person("%foo");
// WHEN
compareRecursivelyFailsAsExpected(actual, expected);
// THEN
ComparisonDifference nameDifference = diff("name", actual.name, expected.name);
verifyShouldBeEqualByComparingFieldByFieldRecursivelyCall(actual, expected, nameDifference);
}
use of org.assertj.core.internal.objects.data.Person in project assertj-core by joel-costigliola.
the class RecursiveComparisonAssert_isEqualTo_Test method should_treat_date_as_equal_to_timestamp.
@Test
void should_treat_date_as_equal_to_timestamp() {
// GIVEN
Person actual = new Person("Fred");
actual.dateOfBirth = new Date(1000L);
Person expected = new Person("Fred");
expected.dateOfBirth = new Timestamp(1000L);
// THEN
assertThat(actual).usingRecursiveComparison().isEqualTo(expected);
}
use of org.assertj.core.internal.objects.data.Person in project assertj-core by joel-costigliola.
the class RecursiveComparisonAssert_isEqualTo_withTypeComparators_Test method should_fail_when_actual_differs_from_expected_when_using_comparators_by_type.
@Test
void should_fail_when_actual_differs_from_expected_when_using_comparators_by_type() {
// GIVEN
Person actual = new Person("John");
actual.home.address.number = 1;
actual.dateOfBirth = new Date(123);
actual.neighbour = new Person("Jack");
actual.neighbour.home.address.number = 123;
// actually a clone of actual
Person expected = new Person("John");
expected.home.address.number = 1;
expected.dateOfBirth = new Date(123);
expected.neighbour = new Person("Jack");
expected.neighbour.home.address.number = 123;
// register comparators for some type that will fail the comparison
recursiveComparisonConfiguration.registerComparatorForType(new AlwaysDifferentComparator<>(), Date.class);
recursiveComparisonConfiguration.registerEqualsForType((Address a1, Address a2) -> false, Address.class);
// WHEN
compareRecursivelyFailsAsExpected(actual, expected);
// THEN
ComparisonDifference dateOfBirthDifference = diff("dateOfBirth", actual.dateOfBirth, expected.dateOfBirth);
ComparisonDifference addressDifference = diff("home.address", actual.home.address, expected.home.address);
ComparisonDifference neighbourAddressDifference = diff("neighbour.home.address", actual.neighbour.home.address, expected.neighbour.home.address);
verifyShouldBeEqualByComparingFieldByFieldRecursivelyCall(actual, expected, dateOfBirthDifference, addressDifference, neighbourAddressDifference);
}
Aggregations