1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.lang3.text;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertSame;
22 import static org.junit.jupiter.api.Assertions.assertTrue;
23
24 import org.apache.commons.lang3.AbstractLangTest;
25 import org.junit.jupiter.api.Test;
26
27
28
29
30 @Deprecated
31 public class StrMatcherTest extends AbstractLangTest {
32
33 private static final char[] BUFFER1 = "0,1\t2 3\n\r\f\u0000'\"".toCharArray();
34
35 private static final char[] BUFFER2 = "abcdef".toCharArray();
36
37
38 @Test
39 public void testCharMatcher_char() {
40 final StrMatcher matcher = StrMatcher.charMatcher('c');
41 assertEquals(0, matcher.isMatch(BUFFER2, 0));
42 assertEquals(0, matcher.isMatch(BUFFER2, 1));
43 assertEquals(1, matcher.isMatch(BUFFER2, 2));
44 assertEquals(0, matcher.isMatch(BUFFER2, 3));
45 assertEquals(0, matcher.isMatch(BUFFER2, 4));
46 assertEquals(0, matcher.isMatch(BUFFER2, 5));
47 }
48
49 @Test
50 public void testCharSetMatcher_charArray() {
51 final StrMatcher matcher = StrMatcher.charSetMatcher("ace".toCharArray());
52 assertEquals(1, matcher.isMatch(BUFFER2, 0));
53 assertEquals(0, matcher.isMatch(BUFFER2, 1));
54 assertEquals(1, matcher.isMatch(BUFFER2, 2));
55 assertEquals(0, matcher.isMatch(BUFFER2, 3));
56 assertEquals(1, matcher.isMatch(BUFFER2, 4));
57 assertEquals(0, matcher.isMatch(BUFFER2, 5));
58 assertSame(StrMatcher.noneMatcher(), StrMatcher.charSetMatcher());
59 assertSame(StrMatcher.noneMatcher(), StrMatcher.charSetMatcher((char[]) null));
60 assertTrue(StrMatcher.charSetMatcher("a".toCharArray()) instanceof StrMatcher.CharMatcher);
61 }
62
63 @Test
64 public void testCharSetMatcher_String() {
65 final StrMatcher matcher = StrMatcher.charSetMatcher("ace");
66 assertEquals(1, matcher.isMatch(BUFFER2, 0));
67 assertEquals(0, matcher.isMatch(BUFFER2, 1));
68 assertEquals(1, matcher.isMatch(BUFFER2, 2));
69 assertEquals(0, matcher.isMatch(BUFFER2, 3));
70 assertEquals(1, matcher.isMatch(BUFFER2, 4));
71 assertEquals(0, matcher.isMatch(BUFFER2, 5));
72 assertSame(StrMatcher.noneMatcher(), StrMatcher.charSetMatcher(""));
73 assertSame(StrMatcher.noneMatcher(), StrMatcher.charSetMatcher((String) null));
74 assertTrue(StrMatcher.charSetMatcher("a") instanceof StrMatcher.CharMatcher);
75 }
76
77 @Test
78 public void testCommaMatcher() {
79 final StrMatcher matcher = StrMatcher.commaMatcher();
80 assertSame(matcher, StrMatcher.commaMatcher());
81 assertEquals(0, matcher.isMatch(BUFFER1, 0));
82 assertEquals(1, matcher.isMatch(BUFFER1, 1));
83 assertEquals(0, matcher.isMatch(BUFFER1, 2));
84 }
85
86 @Test
87 public void testDoubleQuoteMatcher() {
88 final StrMatcher matcher = StrMatcher.doubleQuoteMatcher();
89 assertSame(matcher, StrMatcher.doubleQuoteMatcher());
90 assertEquals(0, matcher.isMatch(BUFFER1, 11));
91 assertEquals(1, matcher.isMatch(BUFFER1, 12));
92 }
93
94 @Test
95 public void testMatcherIndices() {
96
97
98
99 final StrMatcher matcher = StrMatcher.stringMatcher("bc");
100 assertEquals(2, matcher.isMatch(BUFFER2, 1, 1, BUFFER2.length));
101 assertEquals(2, matcher.isMatch(BUFFER2, 1, 0, 3));
102 assertEquals(0, matcher.isMatch(BUFFER2, 1, 0, 2));
103 }
104
105 @Test
106 public void testNoneMatcher() {
107 final StrMatcher matcher = StrMatcher.noneMatcher();
108 assertSame(matcher, StrMatcher.noneMatcher());
109 assertEquals(0, matcher.isMatch(BUFFER1, 0));
110 assertEquals(0, matcher.isMatch(BUFFER1, 1));
111 assertEquals(0, matcher.isMatch(BUFFER1, 2));
112 assertEquals(0, matcher.isMatch(BUFFER1, 3));
113 assertEquals(0, matcher.isMatch(BUFFER1, 4));
114 assertEquals(0, matcher.isMatch(BUFFER1, 5));
115 assertEquals(0, matcher.isMatch(BUFFER1, 6));
116 assertEquals(0, matcher.isMatch(BUFFER1, 7));
117 assertEquals(0, matcher.isMatch(BUFFER1, 8));
118 assertEquals(0, matcher.isMatch(BUFFER1, 9));
119 assertEquals(0, matcher.isMatch(BUFFER1, 10));
120 assertEquals(0, matcher.isMatch(BUFFER1, 11));
121 assertEquals(0, matcher.isMatch(BUFFER1, 12));
122 }
123
124 @Test
125 public void testQuoteMatcher() {
126 final StrMatcher matcher = StrMatcher.quoteMatcher();
127 assertSame(matcher, StrMatcher.quoteMatcher());
128 assertEquals(0, matcher.isMatch(BUFFER1, 10));
129 assertEquals(1, matcher.isMatch(BUFFER1, 11));
130 assertEquals(1, matcher.isMatch(BUFFER1, 12));
131 }
132
133 @Test
134 public void testSingleQuoteMatcher() {
135 final StrMatcher matcher = StrMatcher.singleQuoteMatcher();
136 assertSame(matcher, StrMatcher.singleQuoteMatcher());
137 assertEquals(0, matcher.isMatch(BUFFER1, 10));
138 assertEquals(1, matcher.isMatch(BUFFER1, 11));
139 assertEquals(0, matcher.isMatch(BUFFER1, 12));
140 }
141
142 @Test
143 public void testSpaceMatcher() {
144 final StrMatcher matcher = StrMatcher.spaceMatcher();
145 assertSame(matcher, StrMatcher.spaceMatcher());
146 assertEquals(0, matcher.isMatch(BUFFER1, 4));
147 assertEquals(1, matcher.isMatch(BUFFER1, 5));
148 assertEquals(0, matcher.isMatch(BUFFER1, 6));
149 }
150
151 @Test
152 public void testSplitMatcher() {
153 final StrMatcher matcher = StrMatcher.splitMatcher();
154 assertSame(matcher, StrMatcher.splitMatcher());
155 assertEquals(0, matcher.isMatch(BUFFER1, 2));
156 assertEquals(1, matcher.isMatch(BUFFER1, 3));
157 assertEquals(0, matcher.isMatch(BUFFER1, 4));
158 assertEquals(1, matcher.isMatch(BUFFER1, 5));
159 assertEquals(0, matcher.isMatch(BUFFER1, 6));
160 assertEquals(1, matcher.isMatch(BUFFER1, 7));
161 assertEquals(1, matcher.isMatch(BUFFER1, 8));
162 assertEquals(1, matcher.isMatch(BUFFER1, 9));
163 assertEquals(0, matcher.isMatch(BUFFER1, 10));
164 }
165
166 @Test
167 public void testStringMatcher_String() {
168 final StrMatcher matcher = StrMatcher.stringMatcher("bc");
169 assertEquals(0, matcher.isMatch(BUFFER2, 0));
170 assertEquals(2, matcher.isMatch(BUFFER2, 1));
171 assertEquals(0, matcher.isMatch(BUFFER2, 2));
172 assertEquals(0, matcher.isMatch(BUFFER2, 3));
173 assertEquals(0, matcher.isMatch(BUFFER2, 4));
174 assertEquals(0, matcher.isMatch(BUFFER2, 5));
175 assertSame(StrMatcher.noneMatcher(), StrMatcher.stringMatcher(""));
176 assertSame(StrMatcher.noneMatcher(), StrMatcher.stringMatcher(null));
177 }
178
179 @Test
180 public void testTabMatcher() {
181 final StrMatcher matcher = StrMatcher.tabMatcher();
182 assertSame(matcher, StrMatcher.tabMatcher());
183 assertEquals(0, matcher.isMatch(BUFFER1, 2));
184 assertEquals(1, matcher.isMatch(BUFFER1, 3));
185 assertEquals(0, matcher.isMatch(BUFFER1, 4));
186 }
187
188 @Test
189 public void testTrimMatcher() {
190 final StrMatcher matcher = StrMatcher.trimMatcher();
191 assertSame(matcher, StrMatcher.trimMatcher());
192 assertEquals(0, matcher.isMatch(BUFFER1, 2));
193 assertEquals(1, matcher.isMatch(BUFFER1, 3));
194 assertEquals(0, matcher.isMatch(BUFFER1, 4));
195 assertEquals(1, matcher.isMatch(BUFFER1, 5));
196 assertEquals(0, matcher.isMatch(BUFFER1, 6));
197 assertEquals(1, matcher.isMatch(BUFFER1, 7));
198 assertEquals(1, matcher.isMatch(BUFFER1, 8));
199 assertEquals(1, matcher.isMatch(BUFFER1, 9));
200 assertEquals(1, matcher.isMatch(BUFFER1, 10));
201 }
202
203 }