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