Search in sources :

Example 1 with PersonCaseInsensitiveNameComparator

use of org.assertj.core.test.PersonCaseInsensitiveNameComparator in project assertj-core by joel-costigliola.

the class ObjectAssert_isEqualsToComparingFields_Test method should_be_able_to_use_a_type_comparator_for_any_of_the_type_subclasses.

@Test
public void should_be_able_to_use_a_type_comparator_for_any_of_the_type_subclasses() {
    JediMaster yoda1 = new JediMaster("Yoda", new Jedi("luke", "Green"));
    JediMaster yoda2 = new JediMaster("Yoda", new Jedi("LUKE", null));
    // Jedi is a subclass of Person
    assertThat(yoda1).usingComparatorForType(new PersonCaseInsensitiveNameComparator(), Person.class).isEqualToComparingFieldByField(yoda2);
    assertThat(yoda2).usingComparatorForType(new PersonCaseInsensitiveNameComparator(), Person.class).isEqualToComparingFieldByField(yoda1);
}
Also used : Jedi(org.assertj.core.test.Jedi) PersonCaseInsensitiveNameComparator(org.assertj.core.test.PersonCaseInsensitiveNameComparator) Person(org.assertj.core.test.Person) Test(org.junit.Test) ObjectAssertBaseTest(org.assertj.core.api.ObjectAssertBaseTest)

Example 2 with PersonCaseInsensitiveNameComparator

use of org.assertj.core.test.PersonCaseInsensitiveNameComparator in project assertj-core by joel-costigliola.

the class ObjectAssert_isEqualsToComparingFields_Test method should_be_able_to_use_a_date_comparator_for_timestamp.

@Test
public void should_be_able_to_use_a_date_comparator_for_timestamp() {
    JediMaster yoda1 = new JediMaster("Yoda", new Jedi("luke", "Green"));
    yoda1.dateOfBirth = new Timestamp(1000L);
    JediMaster yoda2 = new JediMaster("Yoda", new Jedi("LUKE", null));
    yoda2.dateOfBirth = new Date(1000L);
    // use a date comparator to compare either Date or Timestamp
    assertThat(yoda1).usingComparatorForType(new PersonCaseInsensitiveNameComparator(), Person.class).usingComparatorForType(SYMMETRIC_DATE_COMPARATOR, Date.class).isEqualToComparingFieldByField(yoda2);
    assertThat(yoda2).usingComparatorForType(new PersonCaseInsensitiveNameComparator(), Person.class).usingComparatorForType(SYMMETRIC_DATE_COMPARATOR, Date.class).isEqualToComparingFieldByField(yoda1);
    assertThat(yoda1).usingComparatorForType(new PersonCaseInsensitiveNameComparator(), Person.class).usingComparatorForType(SYMMETRIC_DATE_COMPARATOR, Timestamp.class).isEqualToComparingFieldByField(yoda2);
    assertThat(yoda2).usingComparatorForType(new PersonCaseInsensitiveNameComparator(), Person.class).usingComparatorForType(SYMMETRIC_DATE_COMPARATOR, Timestamp.class).isEqualToComparingFieldByField(yoda1);
}
Also used : Jedi(org.assertj.core.test.Jedi) PersonCaseInsensitiveNameComparator(org.assertj.core.test.PersonCaseInsensitiveNameComparator) Timestamp(java.sql.Timestamp) Date(java.util.Date) Test(org.junit.Test) ObjectAssertBaseTest(org.assertj.core.api.ObjectAssertBaseTest)

Aggregations

ObjectAssertBaseTest (org.assertj.core.api.ObjectAssertBaseTest)2 Jedi (org.assertj.core.test.Jedi)2 PersonCaseInsensitiveNameComparator (org.assertj.core.test.PersonCaseInsensitiveNameComparator)2 Test (org.junit.Test)2 Timestamp (java.sql.Timestamp)1 Date (java.util.Date)1 Person (org.assertj.core.test.Person)1