1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.functor.core.collection;
18
19 import static org.junit.Assert.assertSame;
20 import static org.junit.Assert.assertTrue;
21 import static org.junit.Assert.fail;
22
23 import java.util.ArrayList;
24 import java.util.Collection;
25 import java.util.List;
26
27 import org.apache.commons.functor.BaseFunctorTest;
28 import org.apache.commons.functor.Predicate;
29 import org.apache.commons.functor.core.Constant;
30 import org.junit.Test;
31
32
33
34
35 public class TestIsElementOf extends BaseFunctorTest {
36
37
38
39
40 @Override
41 protected Object makeFunctor() {
42 return new IsElementOf<Integer, Collection<Integer>>();
43 }
44
45
46
47
48 @Test
49 public void testTestCollection() throws Exception {
50 List<Integer> list = new ArrayList<Integer>();
51 list.add(Integer.valueOf(5));
52 list.add(Integer.valueOf(10));
53 list.add(Integer.valueOf(15));
54
55 Predicate<Integer> p = IsElementOf.instance(list);
56 assertTrue(p.test(Integer.valueOf(5)));
57 assertTrue(p.test(Integer.valueOf(10)));
58 assertTrue(p.test(Integer.valueOf(15)));
59
60 assertTrue(!p.test(Integer.valueOf(4)));
61 assertTrue(!p.test(Integer.valueOf(11)));
62
63 }
64
65 @Test
66 public void testTestArray() throws Exception {
67 int[] list = new int[] { 5, 10, 15 };
68
69 Predicate<Integer> p = IsElementOf.instance(list);
70 assertTrue(p.test(Integer.valueOf(5)));
71 assertTrue(p.test(Integer.valueOf(10)));
72 assertTrue(p.test(Integer.valueOf(15)));
73
74 assertTrue(!p.test(Integer.valueOf(4)));
75 assertTrue(!p.test(Integer.valueOf(11)));
76 }
77
78 @Test
79 public void testTestArrayWithNull() throws Exception {
80 assertTrue(! IsElementOf.instance().test(null,new int[] { 5, 10, 15 }));
81 assertTrue(IsElementOf.instance().test(null,new Integer[] { Integer.valueOf(5), null, Integer.valueOf(15) }));
82 assertTrue(IsElementOf.instance().test(Integer.valueOf(15),new Integer[] { Integer.valueOf(5), null, Integer.valueOf(15) }));
83 }
84
85 @Test
86 public void testWrapNull() {
87 try {
88 IsElementOf.instance(null);
89 fail("expected NullPointerException");
90 } catch (NullPointerException e) {
91
92 }
93 }
94
95 @Test
96 public void testWrapNonCollection() {
97 try {
98 IsElementOf.instance(Integer.valueOf(3));
99 fail("expected IllegalArgumentException");
100 } catch (IllegalArgumentException e) {
101
102 }
103 }
104
105 @Test(expected = NullPointerException.class)
106 public void testTestNull() {
107 IsElementOf.instance().test(Integer.valueOf(5),null);
108 }
109
110 @Test
111 public void testTestNonCollection() {
112 try {
113 IsElementOf.instance().test(Integer.valueOf(5),Long.valueOf(5));
114 fail("expected IllegalArgumentException");
115 } catch (IllegalArgumentException e) {
116
117 }
118 }
119
120 @Test
121 public void testEquals() throws Exception {
122 IsElementOf<Integer, Collection<Integer>> p1 = new IsElementOf<Integer, Collection<Integer>>();
123 assertObjectsAreEqual(p1, p1);
124 assertObjectsAreEqual(p1, new IsElementOf<Integer, Collection<Integer>>());
125 assertObjectsAreEqual(p1, IsElementOf.instance());
126 assertSame(IsElementOf.instance(), IsElementOf.instance());
127 assertObjectsAreNotEqual(p1, Constant.falsePredicate());
128 }
129 }