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 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.BinaryFunction;
25 import org.apache.commons.functor.core.Constant;
26 import org.apache.commons.functor.core.LeftIdentity;
27 import org.apache.commons.functor.core.RightIdentity;
28 import org.junit.Test;
29
30
31
32
33
34 public class TestTransposedFunction extends BaseFunctorTest {
35
36
37
38
39 protected Object makeFunctor() {
40 return new TransposedFunction<Object, Object, Object>(LeftIdentity.FUNCTION);
41 }
42
43
44
45
46 @Test
47 public void testEvaluate() throws Exception {
48 BinaryFunction<Object, Object, Object> f = new TransposedFunction<Object, Object, Object>(LeftIdentity.FUNCTION);
49 assertEquals("xyzzy",f.evaluate(null,"xyzzy"));
50 assertNull(f.evaluate("xyzzy",null));
51 }
52
53 @Test
54 public void testEquals() throws Exception {
55 BinaryFunction<Object, Object, Object> f = new TransposedFunction<Object, Object, Object>(LeftIdentity.FUNCTION);
56 assertEquals(f,f);
57 assertObjectsAreEqual(f,new TransposedFunction<Object, Object, Object>(LeftIdentity.FUNCTION));
58 assertObjectsAreNotEqual(f,new TransposedFunction<Object, Object, Object>(RightIdentity.FUNCTION));
59 assertObjectsAreNotEqual(f,Constant.of("y"));
60 }
61
62 @Test
63 public void testTransposeNull() throws Exception {
64 assertNull(TransposedFunction.transpose(null));
65 }
66
67 @Test
68 public void testTranspose() throws Exception {
69 assertNotNull(TransposedFunction.transpose(Constant.of("x")));
70 }
71 }