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.assertEquals;
20 import static org.junit.Assert.assertNotNull;
21 import static org.junit.Assert.assertNull;
22
23 import org.apache.commons.functor.BaseFunctorTest;
24 import org.apache.commons.functor.Function;
25 import org.apache.commons.functor.core.Constant;
26 import org.apache.commons.functor.core.Identity;
27 import org.junit.Test;
28
29
30
31
32
33 public class TestBoundFunction extends BaseFunctorTest {
34
35
36
37
38 protected Object makeFunctor() {
39 return new BoundFunction<Object>(Identity.INSTANCE,"xyzzy");
40 }
41
42
43
44
45 @Test
46 public void testEvaluate() throws Exception {
47 Function<Object> f = new BoundFunction<Object>(Identity.INSTANCE,"xyzzy");
48 assertEquals("xyzzy",f.evaluate());
49 }
50
51 @Test
52 public void testEquals() throws Exception {
53 Function<Object> f = new BoundFunction<Object>(Identity.INSTANCE,"xyzzy");
54 assertEquals(f,f);
55 assertObjectsAreEqual(f,new BoundFunction<Object>(Identity.INSTANCE,"xyzzy"));
56 assertObjectsAreNotEqual(f,Constant.of("xyzzy"));
57 assertObjectsAreNotEqual(f,new BoundFunction<Object>(Identity.INSTANCE,"foo"));
58 assertObjectsAreNotEqual(f,new BoundFunction<Object>(Constant.of("xyzzy"),"foo"));
59 assertObjectsAreNotEqual(f,new BoundFunction<Object>(Identity.INSTANCE,null));
60 }
61
62 @Test
63 public void testAdaptNull() throws Exception {
64 assertNull(BoundFunction.bind(null,"xyzzy"));
65 }
66
67 @Test
68 public void testAdapt() throws Exception {
69 assertNotNull(BoundFunction.bind(Identity.INSTANCE,"xyzzy"));
70 assertNotNull(BoundFunction.bind(Identity.INSTANCE,null));
71 }
72 }