### Question:
RightIdentity { public static <L, R> BinaryFunction<L, R, R> function() { return IgnoreLeftFunction.adapt(new Identity<R>()); } RightIdentity(); static BinaryFunction<L, R, R> function(); static BinaryPredicate<L, Boolean> predicate(); static final BinaryFunction<Object, Object, Object> FUNCTION; static final BinaryPredicate<Object, Boolean> PREDICATE; }### Answer:
@Test public void testEquals() throws Exception { BinaryFunction<Object, Object, Object> f = RightIdentity.FUNCTION; assertEquals(f,f); assertObjectsAreEqual(f,RightIdentity.function()); assertObjectsAreNotEqual(f,new Identity<Object>()); assertObjectsAreNotEqual(f,LeftIdentity.function()); assertObjectsAreNotEqual(f,Constant.TRUE); assertObjectsAreNotEqual(f,Constant.of("abcde")); }
@Test public void testConstant() throws Exception { assertEquals(RightIdentity.function(),RightIdentity.function()); }