### Question:
ConditionalNullaryFunction implements NullaryFunction<T> { public T evaluate() { if (ifPred.test()) { return thenFunc.evaluate(); } else { return elseFunc.evaluate(); } } ConditionalNullaryFunction(NullaryPredicate ifPred, NullaryFunction<? extends T> thenFunc,
            NullaryFunction<? extends T> elseFunc); T evaluate(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testEvaluate() throws Exception { { ConditionalNullaryFunction<Object> f = new ConditionalNullaryFunction<Object>( Constant.TRUE, Constant.of("left"), Constant.of("right")); assertEquals("left",f.evaluate()); } { ConditionalNullaryFunction<Object> f = new ConditionalNullaryFunction<Object>( Constant.FALSE, Constant.of("left"), Constant.of("right")); assertEquals("right",f.evaluate()); } }