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