View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.commons.proxy2.interceptor.matcher.argument;
19  
20  import static org.junit.Assert.assertFalse;
21  import static org.junit.Assert.assertTrue;
22  
23  import org.apache.commons.proxy2.interceptor.matcher.ArgumentMatcher;
24  import org.junit.Test;
25  
26  @SuppressWarnings("boxing") // test code
27  public class ArgumentMatcherUtilsTest
28  {
29      @Test
30      public void testAny() throws Exception
31      {
32          ArgumentMatcher<Object> matcher = ArgumentMatcherUtils.any();
33          assertTrue(matcher.matches(null));
34          assertTrue(matcher.matches("Hello!"));
35          assertTrue(matcher.matches(12345));
36      }
37  
38      @Test
39      public void testEq() throws Exception
40      {
41          ArgumentMatcher<String> matcher = ArgumentMatcherUtils.eq("Hello");
42          assertTrue(matcher.matches("Hello"));
43          assertFalse(matcher.matches(null));
44      }
45  
46      @Test
47      public void testGt() throws Exception
48      {
49          ArgumentMatcher<Integer> matcher = ArgumentMatcherUtils.gt(5);
50          assertTrue(matcher.matches(6));
51          assertFalse(matcher.matches(5));
52          assertFalse(matcher.matches(1));
53          assertFalse(matcher.matches(null));
54      }
55  
56      @Test
57      public void testGte() throws Exception
58      {
59          ArgumentMatcher<Integer> matcher = ArgumentMatcherUtils.gte(5);
60          assertTrue(matcher.matches(6));
61          assertTrue(matcher.matches(5));
62          assertFalse(matcher.matches(1));
63          assertFalse(matcher.matches(null));
64      }
65  
66      @Test
67      public void testIsA() throws Exception
68      {
69          ArgumentMatcher<Object> matcher = ArgumentMatcherUtils.isA(String.class);
70          assertFalse(matcher.matches(null));
71          assertTrue(matcher.matches("Hello"));
72          assertFalse(matcher.matches(123));
73      }
74  
75      @Test
76      public void testIsNull() throws Exception
77      {
78          ArgumentMatcher<Object> matcher = ArgumentMatcherUtils.isNull();
79          assertTrue(matcher.matches(null));
80          assertFalse(matcher.matches("Hello"));
81          assertFalse(matcher.matches(123));
82      }
83  
84      @Test
85      public void testLt() throws Exception
86      {
87          ArgumentMatcher<Integer> matcher = ArgumentMatcherUtils.lt(5);
88          assertTrue(matcher.matches(4));
89          assertFalse(matcher.matches(5));
90          assertFalse(matcher.matches(19));
91          assertFalse(matcher.matches(null));
92      }
93  
94      @Test
95      public void testLte() throws Exception
96      {
97          ArgumentMatcher<Integer> matcher = ArgumentMatcherUtils.lte(5);
98          assertTrue(matcher.matches(4));
99          assertTrue(matcher.matches(5));
100         assertFalse(matcher.matches(19));
101         assertFalse(matcher.matches(null));
102     }
103 
104     @Test
105     public void testMatches() throws Exception
106     {
107         ArgumentMatcher<String> matcher = ArgumentMatcherUtils.matches("(abc)+");
108         assertTrue(matcher.matches("abc"));
109         assertTrue(matcher.matches("abcabc"));
110         assertFalse(matcher.matches(""));
111         assertFalse(matcher.matches(null));
112     }
113 
114     @Test
115     public void testNotNull() throws Exception
116     {
117         ArgumentMatcher<String> matcher = ArgumentMatcherUtils.notNull();
118         assertTrue(matcher.matches("Hello"));
119         assertFalse(matcher.matches(null));
120     }
121 
122     @Test
123     public void testStartsWith() throws Exception
124     {
125         ArgumentMatcher<String> matcher = ArgumentMatcherUtils.startsWith("abc");
126         assertTrue(matcher.matches("abc"));
127         assertTrue(matcher.matches("abcd"));
128         assertFalse(matcher.matches("ab"));
129         assertFalse(matcher.matches(null));
130     }
131 
132     @Test
133     public void testEndsWith() throws Exception
134     {
135         ArgumentMatcher<String> matcher = ArgumentMatcherUtils.endsWith("abc");
136         assertTrue(matcher.matches("abc"));
137         assertTrue(matcher.matches("dabc"));
138         assertFalse(matcher.matches("ab"));
139         assertFalse(matcher.matches(null));
140     }
141 }