### Question:
ConditionalBinaryPredicate implements BinaryPredicate<L, R> { public boolean test(L left, R right) { return ifPred.test(left, right) ? thenPred.test(left, right) : elsePred.test(left, right); } ConditionalBinaryPredicate(BinaryPredicate<? super L, ? super R> ifPred,
            BinaryPredicate<? super L, ? super R> thenPred, BinaryPredicate<? super L, ? super R> elsePred); boolean test(L left, R right); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testTest() throws Exception { { ConditionalBinaryPredicate<Object, Object> p = new ConditionalBinaryPredicate<Object, Object>( Constant.TRUE, Constant.TRUE, Constant.FALSE); assertTrue(p.test(null,null)); } { ConditionalBinaryPredicate<Object, Object> p = new ConditionalBinaryPredicate<Object, Object>( Constant.FALSE, Constant.TRUE, Constant.FALSE); assertFalse(p.test(null,null)); } }