### Question:
IsEqualComparator implements BiPredicate<T, T> { @Override public boolean test(T leftItem, T rightItem) { return (leftItem == null && rightItem == null) || (leftItem != null && leftItem.equals(rightItem)); }  @Override boolean test(T leftItem, T rightItem);  }### Answer:
@Test public void testWithNullFirstParameterAndNonNullSecondParameterThenReturnFalse() { assertFalse(new IsEqualComparator<Integer>().test(null, 0)); }
@Test public void testWithNonNullFirstParameterAndNullSecondParameterThenReturnFalse() { assertFalse(new IsEqualComparator<Integer>().test(0, null)); }
@Test public void testWithNullFirstParameterAndNullSecondParameterThenReturnTrue() { assertTrue(new IsEqualComparator<Integer>().test(null, null)); }
@Test public void testWithNonEqualParametersThenReturnFalse() { assertFalse(new IsEqualComparator<Integer>().test(1, 0)); }
@Test public void testWithEqualParametersThenReturnTrue() { assertTrue(new IsEqualComparator<Integer>().test(0, 0)); }