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.UnaryProcedure;
25 import org.apache.commons.functor.core.NoOp;
26 import org.apache.commons.functor.core.RightIdentity;
27 import org.junit.Test;
28
29
30
31
32
33 public class TestLeftBoundProcedure extends BaseFunctorTest {
34
35
36
37
38 protected Object makeFunctor() {
39 return new LeftBoundProcedure<Object>(NoOp.INSTANCE,"xyzzy");
40 }
41
42
43
44
45 @Test
46 public void testRun() throws Exception {
47 UnaryProcedure<Object> p = new LeftBoundProcedure<Object>(
48 new BinaryFunctionBinaryProcedure<Object, Object>(RightIdentity.FUNCTION), "foo");
49 p.run(Boolean.TRUE);
50 p.run(Boolean.FALSE);
51 }
52
53 @Test
54 public void testEquals() throws Exception {
55 UnaryProcedure<Object> f = new LeftBoundProcedure<Object>(NoOp.INSTANCE, "xyzzy");
56 assertEquals(f, f);
57 assertObjectsAreEqual(f, new LeftBoundProcedure<Object>(NoOp.INSTANCE, "xyzzy"));
58 assertObjectsAreNotEqual(f, new NoOp());
59 assertObjectsAreNotEqual(f, new LeftBoundProcedure<Object>(
60 new BinaryFunctionBinaryProcedure<Object, Object>(RightIdentity.FUNCTION), "xyzzy"));
61 assertObjectsAreNotEqual(f, new LeftBoundProcedure<Object>(NoOp.INSTANCE, "foo"));
62 assertObjectsAreNotEqual(f, new LeftBoundProcedure<Object>(NoOp.INSTANCE, null));
63 }
64
65 @Test
66 public void testAdaptNull() throws Exception {
67 assertNull(LeftBoundProcedure.bind(null,"xyzzy"));
68 }
69
70 @Test
71 public void testAdapt() throws Exception {
72 assertNotNull(LeftBoundProcedure.bind(new NoOp(),"xyzzy"));
73 assertNotNull(LeftBoundProcedure.bind(new NoOp(),null));
74 }
75 }