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