### Question:
FunctionPredicate implements Predicate<A> { public boolean test(A obj) { return function.evaluate(obj).booleanValue(); } FunctionPredicate(Function<? super A, Boolean> function); boolean test(A obj); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static FunctionPredicate<A> adapt(Function<? super A, Boolean> function);  }### Answer:
@Test public void testTestWhenTrue() throws Exception { Predicate<Object> p = new FunctionPredicate<Object>(Constant.TRUE); assertTrue(p.test(null)); }
@Test public void testTestWhenFalse() throws Exception { Predicate<Object> p = new FunctionPredicate<Object>(Constant.FALSE); assertTrue(!p.test(null)); }