/** Test proper handling where an object is not equal to one the user has said should be equal */ public void testInvalidNotEqualsEqualObject() { equalsTester.addEqualityGroup(reference, notEqualObject1); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, reference + " [group 1, item 1]"); assertErrorMessage(e, notEqualObject1 + " [group 1, item 2]"); return; } fail("Should get not equal to equal object error"); }
public void testNullObjectInEqualityGroup() { EqualsTester tester = new EqualsTester(); try { tester.addEqualityGroup(1, null, 3); fail(); } catch (NullPointerException e) { assertErrorMessage(e, "at index 1"); } }
/** * Test adding objects only by addEqualityGroup, with no reference object specified in the * constructor. */ public void testAddEqualObjectWithOArgConstructor() { equalsTester.addEqualityGroup(equalObject1, notEqualObject1); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage( e, equalObject1 + " [group 1, item 1] must be Object#equals to " + notEqualObject1 + " [group 1, item 2]"); return; } fail("Should get not equal to equal object error"); }
/** Test proper handling where an object tests equal to null */ public void testInvalidEqualsNull() { Object obj = new InvalidEqualsNullObject(); equalsTester.addEqualityGroup(obj); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, obj + " must not be Object#equals to null"); return; } fail("Should get equal to null error"); }
/** Test proper handling of case where an object is not equal to itself */ public void testNonreflexiveEquals() { Object obj = new NonReflexiveObject(); equalsTester.addEqualityGroup(obj); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, obj + " must be Object#equals to itself"); return; } fail("Should get non-reflexive error"); }
/** Test proper handling where an object incorrectly tests for an incompatible class */ public void testInvalidEqualsIncompatibleClass() { Object obj = new InvalidEqualsIncompatibleClassObject(); equalsTester.addEqualityGroup(obj); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage( e, obj + " must not be Object#equals to an arbitrary object of another class"); return; } fail("Should get equal to incompatible class error"); }
/** * Test for an invalid hashCode method, i.e., one that returns different value for objects that * are equal according to the equals method */ public void testInvalidHashCode() { Object a = new InvalidHashCodeObject(1, 2); Object b = new InvalidHashCodeObject(1, 2); equalsTester.addEqualityGroup(a, b); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage( e, "the Object#hashCode (" + a.hashCode() + ") of " + a + " [group 1, item 1] must be equal to the Object#hashCode (" + b.hashCode() + ") of " + b); return; } fail("Should get invalid hashCode error"); }
public void testUnequalObjectsInEqualityGroup() { EqualsTester tester = new EqualsTester().addEqualityGroup(named("foo"), named("bar")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, "foo [group 1, item 1] must be Object#equals to bar [group 1, item 2]"); return; } fail("should failed because of unequal objects in the same equality group"); }
public void testSymmetryBroken() { EqualsTester tester = new EqualsTester().addEqualityGroup(named("foo").addPeers("bar"), named("bar")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, "bar [group 1, item 2] must be Object#equals to foo [group 1, item 1]"); return; } fail("should failed because symmetry is broken"); }
public void testTransitivityBrokenInEqualityGroup() { EqualsTester tester = new EqualsTester() .addEqualityGroup( named("foo").addPeers("bar", "baz"), named("bar").addPeers("foo"), named("baz").addPeers("foo")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, "bar [group 1, item 2] must be Object#equals to baz [group 1, item 3]"); return; } fail("should failed because transitivity is broken"); }
public void testTransitivityBrokenAcrossEqualityGroups() { EqualsTester tester = new EqualsTester() .addEqualityGroup(named("foo").addPeers("bar"), named("bar").addPeers("foo", "x")) .addEqualityGroup(named("baz").addPeers("x"), named("x").addPeers("baz", "bar")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage( e, "bar [group 1, item 2] must not be Object#equals to x [group 2, item 2]"); return; } fail("should failed because transitivity is broken"); }
/** Test proper handling where an object is not equal to one the user has said should be equal */ public void testInvalidNotEqualsEqualObject() { equalsTester.addEqualityGroup(reference, notEqualObject1); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, reference + " [group 1, item 1]"); assertErrorMessage(e, notEqualObject1 + " [group 1, item 2]"); return; } fail("Should get not equal to equal object error"); }
public void testNullObjectInEqualityGroup() { EqualsTester tester = new EqualsTester(); try { tester.addEqualityGroup(1, null, 3); fail(); } catch (NullPointerException e) { assertErrorMessage(e, "at index 1"); } }
public void testNullObjectInEqualityGroup() { EqualsTester tester = new EqualsTester(); try { tester.addEqualityGroup(1, null, 3); fail(); } catch (NullPointerException e) { assertErrorMessage(e, "at index 1"); } }
/** Test proper handling where an object tests equal to null */ public void testInvalidEqualsNull() { Object obj = new InvalidEqualsNullObject(); equalsTester.addEqualityGroup(obj); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, obj + " must not be Object#equals to null"); return; } fail("Should get equal to null error"); }
/** Test proper handling where an object incorrectly tests for an incompatible class */ public void testInvalidEqualsIncompatibleClass() { Object obj = new InvalidEqualsIncompatibleClassObject(); equalsTester.addEqualityGroup(obj); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage( e, obj + " must not be Object#equals to an arbitrary object of another class"); return; } fail("Should get equal to incompatible class error"); }
/** Test proper handling of case where an object is not equal to itself */ public void testNonreflexiveEquals() { Object obj = new NonReflexiveObject(); equalsTester.addEqualityGroup(obj); try { equalsTester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, obj + " must be Object#equals to itself"); return; } fail("Should get non-reflexive error"); }
public void testUnequalObjectsInEqualityGroup() { EqualsTester tester = new EqualsTester().addEqualityGroup(named("foo"), named("bar")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, "foo [group 1, item 1] must be Object#equals to bar [group 1, item 2]"); return; } fail("should failed because of unequal objects in the same equality group"); }
public void testSymmetryBroken() { EqualsTester tester = new EqualsTester().addEqualityGroup(named("foo").addPeers("bar"), named("bar")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage(e, "bar [group 1, item 2] must be Object#equals to foo [group 1, item 1]"); return; } fail("should failed because symmetry is broken"); }
public void testSymmetryBroken() { EqualsTester tester = new EqualsTester() .addEqualityGroup(named("foo").addPeers("bar"), named("bar")); try { tester.testEquals(); } catch (AssertionFailedError e) { assertErrorMessage( e, "bar [group 1, item 2] must be Object#equals to foo [group 1, item 1]"); return; } fail("should failed because symmetry is broken"); }