1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.functor.adapter;
18
19 import static org.junit.Assert.*;
20
21 import org.apache.commons.functor.BaseFunctorTest;
22 import org.apache.commons.functor.UnaryFunction;
23 import org.apache.commons.functor.core.Constant;
24 import org.apache.commons.functor.core.IsNotSame;
25 import org.apache.commons.functor.core.IsSame;
26 import org.junit.Test;
27
28
29
30
31
32 public class TestBinaryFunctionUnaryFunction extends BaseFunctorTest {
33
34
35
36
37 protected Object makeFunctor() {
38 return new BinaryFunctionUnaryFunction<Object, Object>(BinaryPredicateBinaryFunction.adapt(IsSame.INSTANCE));
39 }
40
41
42
43
44 @Test
45 public void testTestWhenTrue() throws Exception {
46 UnaryFunction<Object, Boolean> f = new BinaryFunctionUnaryFunction<Object, Boolean>(BinaryPredicateBinaryFunction.adapt(IsSame.INSTANCE));
47 assertTrue(f.evaluate(null));
48 }
49
50 @Test
51 public void testTestWhenFalse() throws Exception {
52 UnaryFunction<Object, Boolean> f = new BinaryFunctionUnaryFunction<Object, Boolean>(BinaryPredicateBinaryFunction.adapt(IsNotSame.INSTANCE));
53 assertFalse(f.evaluate(null));
54 }
55
56 @Test
57 public void testEquals() throws Exception {
58 UnaryFunction<Object, Boolean> f = new BinaryFunctionUnaryFunction<Object, Boolean>(BinaryPredicateBinaryFunction.adapt(IsSame.INSTANCE));
59 assertEquals(f, f);
60 assertObjectsAreEqual(f, new BinaryFunctionUnaryFunction<Object, Boolean>(BinaryPredicateBinaryFunction.adapt(IsSame.INSTANCE)));
61 assertObjectsAreNotEqual(f, Constant.truePredicate());
62 assertObjectsAreNotEqual(f, new BinaryFunctionUnaryFunction<Object, Boolean>(BinaryPredicateBinaryFunction.adapt(IsNotSame.INSTANCE)));
63 }
64
65 @Test
66 public void testAdaptNull() throws Exception {
67 assertNull(BinaryFunctionUnaryFunction.adapt(null));
68 }
69
70 @Test
71 public void testAdapt() throws Exception {
72 assertNotNull(BinaryFunctionUnaryFunction.adapt(Constant.TRUE));
73 }
74 }