### Question:
BinaryPredicatePredicate implements Predicate<A> { public boolean test(A obj) { return predicate.test(obj, obj); } BinaryPredicatePredicate(BinaryPredicate<? super A, ? super A> predicate); boolean test(A obj); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static Predicate<A> adapt(BinaryPredicate<? super A, ? super A> predicate);  }### Answer:
@Test public void testTestWhenTrue() throws Exception { Predicate<Object> p = new BinaryPredicatePredicate<Object>(IsSame.INSTANCE); assertTrue(p.test(null)); }
@Test public void testTestWhenFalse() throws Exception { Predicate<Object> p = new BinaryPredicatePredicate<Object>(IsNotSame.INSTANCE); assertFalse(p.test(null)); }