### Question:
BinaryNot implements BinaryPredicate<L, R> { public boolean test(L left, R right) { return !(predicate.test(left, right)); } BinaryNot(BinaryPredicate<? super L, ? super R> predicate); boolean test(L left, R right); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static BinaryPredicate<L, R> not(BinaryPredicate<? super L, ? super R> that);  }### Answer:
@Test public void testTest() throws Exception { BinaryPredicate<Integer, Integer> p = new BinaryNot<Integer, Integer>(new IsSumGreaterThanTen()); assertTrue(!p.test(9, 2)); assertTrue(p.test(9, 1)); }