### Question:
IsNotEqual implements BinaryPredicate<L, R> { @Override public boolean equals(Object that) { return that instanceof IsNotEqual<?, ?>; } IsNotEqual(); boolean test(L left, R right); @Override boolean equals(Object that); @Override int hashCode(); @Override String toString(); static IsNotEqual<L, R> instance(); static Predicate<L> to(R object); static final IsNotEqual<Object, Object> INSTANCE; }### Answer:
@Test public void testEquals() throws Exception { BinaryPredicate<Object, Object> p = new IsNotEqual<Object, Object>(); assertEquals(p, p); assertObjectsAreEqual(p, new IsNotEqual<Object, Object>()); assertObjectsAreEqual(p, IsNotEqual.instance()); assertObjectsAreNotEqual(p, Constant.truePredicate()); }