1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.functor.core;
18
19 import static org.junit.Assert.assertTrue;
20 import static org.junit.Assert.fail;
21
22 import org.apache.commons.functor.BaseFunctorTest;
23 import org.apache.commons.functor.BinaryPredicate;
24 import org.apache.commons.functor.Predicate;
25 import org.apache.commons.functor.UnaryPredicate;
26 import org.junit.Test;
27
28
29
30
31
32 public class TestLimit extends BaseFunctorTest {
33
34
35
36
37
38 protected Object makeFunctor() {
39 return new Limit(3);
40 }
41
42
43
44
45 @Test
46 public void testZero() throws Exception {
47 Predicate p = new Limit(0);
48 assertTrue(! p.test());
49 assertTrue(! p.test());
50 assertTrue(! p.test());
51 }
52
53 @Test
54 public void testBadArgs() throws Exception {
55 try {
56 new Limit(-1);
57 fail("Expected IllegalArgumentException");
58 } catch(IllegalArgumentException e) {
59
60 }
61 }
62
63 @Test
64 public void testTestNullary() throws Exception {
65 Predicate p = new Limit(3);
66 assertTrue(p.test());
67 assertTrue(p.test());
68 assertTrue(p.test());
69 assertTrue(! p.test());
70 }
71
72 @Test
73 public void testTestUnary() throws Exception {
74 UnaryPredicate<Object> p = new Limit(3);
75 assertTrue(p.test(null));
76 assertTrue(p.test(null));
77 assertTrue(p.test(null));
78 assertTrue(! p.test(null));
79 }
80
81 @Test
82 public void testTestBinary() throws Exception {
83 BinaryPredicate<Object, Object> p = new Limit(3);
84 assertTrue(p.test(null,null));
85 assertTrue(p.test(null,null));
86 assertTrue(p.test(null,null));
87 assertTrue(! p.test(null,null));
88 }
89 }