001: /*
002: * Copyright (C) The MX4J Contributors.
003: * All rights reserved.
004: *
005: * This software is distributed under the terms of the MX4J License version 1.0.
006: * See the terms of the MX4J License in the documentation provided with this software.
007: */
008:
009: package test.mx4j;
010:
011: import mx4j.util.Utils;
012: import test.MX4JTestCase;
013:
014: /**
015: * @version $Revision: 1.8 $
016: */
017: public class MiscellaneousTest extends MX4JTestCase {
018: public MiscellaneousTest(String s) {
019: super (s);
020: }
021:
022: private boolean wildcardMatch(String pattern, String value)
023: throws Exception {
024: return Utils.wildcardMatch(pattern, value);
025: }
026:
027: public void testRegexpMatch() throws Exception {
028: String p1 = "*";
029: if (!wildcardMatch(p1, "")) {
030: fail();
031: }
032: if (!wildcardMatch(p1, "a")) {
033: fail();
034: }
035: if (!wildcardMatch(p1, "abc")) {
036: fail();
037: }
038: System.out.print(".");
039:
040: p1 = "?";
041: if (!wildcardMatch(p1, "a")) {
042: fail();
043: }
044: if (wildcardMatch(p1, "")) {
045: fail();
046: }
047: if (wildcardMatch(p1, "aa")) {
048: fail();
049: }
050: System.out.print(".");
051:
052: p1 = "ab";
053: if (!wildcardMatch(p1, "ab")) {
054: fail();
055: }
056: if (wildcardMatch(p1, "abcd")) {
057: fail();
058: }
059: System.out.print(".");
060:
061: p1 = "*?";
062: if (!wildcardMatch(p1, "a")) {
063: fail();
064: }
065: if (!wildcardMatch(p1, "aa")) {
066: fail();
067: }
068: if (wildcardMatch(p1, "")) {
069: fail();
070: }
071: System.out.print(".");
072:
073: p1 = "?*";
074: if (!wildcardMatch(p1, "a")) {
075: fail();
076: }
077: if (!wildcardMatch(p1, "aa")) {
078: fail();
079: }
080: if (wildcardMatch(p1, "")) {
081: fail();
082: }
083: System.out.print(".");
084:
085: p1 = "*a";
086: if (!wildcardMatch(p1, "a")) {
087: fail();
088: }
089: if (!wildcardMatch(p1, "aa")) {
090: fail();
091: }
092: if (!wildcardMatch(p1, "ba")) {
093: fail();
094: }
095: if (!wildcardMatch(p1, "bca")) {
096: fail();
097: }
098: if (!wildcardMatch(p1, "caba")) {
099: fail();
100: }
101: if (wildcardMatch(p1, "b")) {
102: fail();
103: }
104: if (wildcardMatch(p1, "ab")) {
105: fail();
106: }
107: if (wildcardMatch(p1, "cab")) {
108: fail();
109: }
110: System.out.print(".");
111:
112: p1 = "a*";
113: if (!wildcardMatch(p1, "a")) {
114: fail();
115: }
116: if (!wildcardMatch(p1, "aa")) {
117: fail();
118: }
119: if (!wildcardMatch(p1, "ab")) {
120: fail();
121: }
122: if (!wildcardMatch(p1, "abc")) {
123: fail();
124: }
125: if (wildcardMatch(p1, "ba")) {
126: fail();
127: }
128: if (wildcardMatch(p1, "bca")) {
129: fail();
130: }
131: if (wildcardMatch(p1, "bcab")) {
132: fail();
133: }
134: System.out.print(".");
135:
136: p1 = "?ab";
137: if (!wildcardMatch(p1, "aab")) {
138: fail();
139: }
140: if (wildcardMatch(p1, "ab")) {
141: fail();
142: }
143: if (wildcardMatch(p1, "abc")) {
144: fail();
145: }
146: if (wildcardMatch(p1, "")) {
147: fail();
148: }
149: System.out.print(".");
150:
151: p1 = "ab?";
152: if (!wildcardMatch(p1, "aba")) {
153: fail();
154: }
155: if (wildcardMatch(p1, "ab")) {
156: fail();
157: }
158: if (wildcardMatch(p1, "cab")) {
159: fail();
160: }
161: if (wildcardMatch(p1, "")) {
162: fail();
163: }
164: System.out.print(".");
165:
166: p1 = "a*b";
167: if (!wildcardMatch(p1, "aab")) {
168: fail();
169: }
170: if (!wildcardMatch(p1, "ab")) {
171: fail();
172: }
173: if (wildcardMatch(p1, "")) {
174: fail();
175: }
176: if (wildcardMatch(p1, "aaba")) {
177: fail();
178: }
179: System.out.print(".");
180:
181: p1 = "a?b";
182: if (!wildcardMatch(p1, "aab")) {
183: fail();
184: }
185: if (wildcardMatch(p1, "ab")) {
186: fail();
187: }
188: if (wildcardMatch(p1, "")) {
189: fail();
190: }
191: if (wildcardMatch(p1, "aaba")) {
192: fail();
193: }
194: System.out.print(".");
195:
196: p1 = "*ab*";
197: if (!wildcardMatch(p1, "ab")) {
198: fail();
199: }
200: if (!wildcardMatch(p1, "abc")) {
201: fail();
202: }
203: if (!wildcardMatch(p1, "cabd")) {
204: fail();
205: }
206: if (!wildcardMatch(p1, "aabbc")) {
207: fail();
208: }
209: if (wildcardMatch(p1, "ba")) {
210: fail();
211: }
212: if (wildcardMatch(p1, "bca")) {
213: fail();
214: }
215: System.out.print(".");
216:
217: p1 = "?ab?";
218: if (!wildcardMatch(p1, "cabd")) {
219: fail();
220: }
221: if (wildcardMatch(p1, "aab")) {
222: fail();
223: }
224: if (wildcardMatch(p1, "ab")) {
225: fail();
226: }
227: if (wildcardMatch(p1, "abb")) {
228: fail();
229: }
230: if (wildcardMatch(p1, "aabbc")) {
231: fail();
232: }
233: System.out.print(".");
234:
235: p1 = "*a*b*";
236: if (!wildcardMatch(p1, "ab")) {
237: fail();
238: }
239: if (!wildcardMatch(p1, "abc")) {
240: fail();
241: }
242: if (!wildcardMatch(p1, "cabd")) {
243: fail();
244: }
245: if (!wildcardMatch(p1, "caebd")) {
246: fail();
247: }
248: if (wildcardMatch(p1, "ba")) {
249: fail();
250: }
251: if (wildcardMatch(p1, "bca")) {
252: fail();
253: }
254: if (wildcardMatch(p1, "a")) {
255: fail();
256: }
257: if (wildcardMatch(p1, "")) {
258: fail();
259: }
260: System.out.print(".");
261:
262: p1 = "?a?b?";
263: if (!wildcardMatch(p1, "aabbc")) {
264: fail();
265: }
266: if (wildcardMatch(p1, "")) {
267: fail();
268: }
269: if (wildcardMatch(p1, "ab")) {
270: fail();
271: }
272: if (wildcardMatch(p1, "aazb")) {
273: fail();
274: }
275: System.out.print(".");
276:
277: p1 = "*?ab";
278: if (!wildcardMatch(p1, "aab")) {
279: fail();
280: }
281: if (!wildcardMatch(p1, "aaab")) {
282: fail();
283: }
284: if (wildcardMatch(p1, "")) {
285: fail();
286: }
287: if (wildcardMatch(p1, "ab")) {
288: fail();
289: }
290: System.out.print(".");
291:
292: p1 = "?*ab";
293: if (!wildcardMatch(p1, "aab")) {
294: fail();
295: }
296: if (!wildcardMatch(p1, "aaab")) {
297: fail();
298: }
299: if (wildcardMatch(p1, "")) {
300: fail();
301: }
302: if (wildcardMatch(p1, "ab")) {
303: fail();
304: }
305: System.out.print(".");
306:
307: p1 = "ab*?";
308: if (!wildcardMatch(p1, "abb")) {
309: fail();
310: }
311: if (!wildcardMatch(p1, "abbb")) {
312: fail();
313: }
314: if (wildcardMatch(p1, "")) {
315: fail();
316: }
317: if (wildcardMatch(p1, "ab")) {
318: fail();
319: }
320: System.out.print(".");
321:
322: p1 = "ab?*";
323: if (!wildcardMatch(p1, "abb")) {
324: fail();
325: }
326: if (!wildcardMatch(p1, "abbb")) {
327: fail();
328: }
329: if (wildcardMatch(p1, "")) {
330: fail();
331: }
332: if (wildcardMatch(p1, "ab")) {
333: fail();
334: }
335: System.out.print(".");
336:
337: p1 = "a*?b";
338: if (!wildcardMatch(p1, "abb")) {
339: fail();
340: }
341: if (!wildcardMatch(p1, "abbb")) {
342: fail();
343: }
344: if (wildcardMatch(p1, "")) {
345: fail();
346: }
347: if (wildcardMatch(p1, "ab")) {
348: fail();
349: }
350: System.out.print(".");
351:
352: System.out.println();
353: }
354: }
|