1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.functor.core.composite;
18
19 import static org.junit.Assert.assertEquals;
20
21 import org.apache.commons.functor.BaseFunctorTest;
22 import org.apache.commons.functor.core.Constant;
23 import org.apache.commons.functor.core.LeftIdentity;
24 import org.junit.Test;
25
26
27
28
29
30 public class TestConditionalBinaryFunction extends BaseFunctorTest {
31
32
33
34
35 protected Object makeFunctor() {
36 return new ConditionalBinaryFunction<Object, Object, String>(
37 Constant.TRUE,
38 Constant.of("left"),
39 Constant.of("right"));
40 }
41
42
43
44
45 @Test
46 public void testEvaluate() throws Exception {
47 ConditionalBinaryFunction<Boolean, Object, String> f = new ConditionalBinaryFunction<Boolean, Object, String>(
48 LeftIdentity.PREDICATE,
49 Constant.of("left"),
50 Constant.of("right"));
51 assertEquals("left",f.evaluate(Boolean.TRUE,null));
52 assertEquals("right",f.evaluate(Boolean.FALSE,null));
53 }
54
55 @Test
56 public void testEquals() throws Exception {
57 ConditionalBinaryFunction<Boolean, Object, String> f = new ConditionalBinaryFunction<Boolean, Object, String>(
58 LeftIdentity.PREDICATE,
59 Constant.of("left"),
60 Constant.of("right"));
61 assertEquals(f,f);
62 assertObjectsAreEqual(f,new ConditionalBinaryFunction<Boolean, Object, String>(
63 LeftIdentity.PREDICATE,
64 Constant.of("left"),
65 Constant.of("right")));
66 assertObjectsAreNotEqual(f,new ConditionalBinaryFunction<Boolean, Object, Object>(
67 LeftIdentity.PREDICATE,
68 Constant.of(null),
69 Constant.of("right")));
70 assertObjectsAreNotEqual(f,new ConditionalBinaryFunction<Boolean, Object, String>(
71 Constant.TRUE,
72 Constant.of("left"),
73 Constant.of("right")));
74 }
75 }