KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > junit > output > antutils > FileSetScannerTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.junit.output.antutils;
21
22 import java.io.File JavaDoc;
23 import junit.framework.*;
24 import org.netbeans.modules.junit.output.antutils.FileSetScanner.AntPattern;
25
26 /**
27  *
28  * @author Marian Petras
29  */

30 public class FileSetScannerTest extends TestCase {
31     
32     private static final String JavaDoc SEP = File.separator;
33     
34     
35     public FileSetScannerTest(String JavaDoc testName) {
36         super(testName);
37     }
38     
39     
40     public void testConstructor() {
41         System.out.println("constructor");
42         
43         try {
44             new AntPattern(new String JavaDoc[] {"ij", "kl"});
45             new AntPattern(new String JavaDoc[] {"ij"});
46             new AntPattern(new String JavaDoc[] {});
47         } catch (IllegalArgumentException JavaDoc ex) {
48             fail("The IllegalArgumentException should not be thrown");
49         }
50         
51         try {
52             new AntPattern(null);
53             fail("The constructor should throw an IllegalArgumentException");
54         } catch (IllegalArgumentException JavaDoc ex) {
55             //OK
56
}
57     }
58     
59     public void testEquals() {
60         System.out.println("equals");
61         
62         assertEquals(new AntPattern(new String JavaDoc[0]),
63                      new AntPattern(new String JavaDoc[0]));
64         
65         assertNotEqual(new AntPattern(new String JavaDoc[0]),
66                        null);
67         
68         assertEquals(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
69                      new AntPattern(new String JavaDoc[] {"cat", "dog"}));
70         assertEquals(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
71                      new AntPattern(new String JavaDoc[] {new String JavaDoc("cat"), "dog"}));
72         assertEquals(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
73                      new AntPattern(new String JavaDoc[] {"cat", new String JavaDoc("dog")}));
74         assertEquals(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
75                      new AntPattern(new String JavaDoc[] {new String JavaDoc("cat"),
76                                                   new String JavaDoc("dog")}));
77         
78         assertNotEqual(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
79                        new AntPattern(new String JavaDoc[] {"cat", "dog", "pig"}));
80         assertNotEqual(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
81                        new AntPattern(new String JavaDoc[] {"cat", "cow"}));
82         assertNotEqual(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
83                        new AntPattern(new String JavaDoc[] {"cat"}));
84         assertNotEqual(new AntPattern(new String JavaDoc[] {"cat", "dog"}),
85                        new AntPattern(new String JavaDoc[] {}));
86         assertNotEqual(new AntPattern(new String JavaDoc[] {"cat"}),
87                        new AntPattern(new String JavaDoc[] {"cow"}));
88     }
89     
90     public void testParsePatternString() {
91         System.out.println("parsePatternString");
92         
93         String JavaDoc patternString;
94         AntPattern expResult;
95         AntPattern result;
96         
97         FileSetScanner s =
98                 new FileSetScanner(new FileSet(new AntProject()));
99         
100         patternString = replaceSep("ab");
101         expResult = new AntPattern(new String JavaDoc[] {"ab"});
102         result = s.parsePatternString(patternString);
103         assertEquals(expResult, result);
104         
105         patternString = replaceSep("**");
106         expResult = new AntPattern(new String JavaDoc[] {"**"});
107         result = s.parsePatternString(patternString);
108         assertEquals(expResult, result);
109         
110         patternString = replaceSep("ab/cd");
111         expResult = new AntPattern(new String JavaDoc[] {"ab", "cd"});
112         result = s.parsePatternString(patternString);
113         assertEquals(expResult, result);
114         
115         patternString = replaceSep("ab/cd/");
116         expResult = new AntPattern(new String JavaDoc[] {"ab", "cd", "**"});
117         result = s.parsePatternString(patternString);
118         assertEquals(expResult, result);
119         
120         patternString = replaceSep("ab/**");
121         expResult = new AntPattern(new String JavaDoc[] {"ab", "**"});
122         result = s.parsePatternString(patternString);
123         assertEquals(expResult, result);
124         
125         patternString = replaceSep("ab/cd**");
126         expResult = new AntPattern(new String JavaDoc[] {"ab", "cd**"});
127         result = s.parsePatternString(patternString);
128         assertEquals(expResult, result);
129         
130         patternString = replaceSep("ab/**cd");
131         expResult = new AntPattern(new String JavaDoc[] {"ab", "**cd"});
132         result = s.parsePatternString(patternString);
133         assertEquals(expResult, result);
134         
135         patternString = replaceSep("ab/cd*");
136         expResult = new AntPattern(new String JavaDoc[] {"ab", "cd*"});
137         result = s.parsePatternString(patternString);
138         assertEquals(expResult, result);
139         
140         patternString = replaceSep("ab/*cd");
141         expResult = new AntPattern(new String JavaDoc[] {"ab", "*cd"});
142         result = s.parsePatternString(patternString);
143         assertEquals(expResult, result);
144         
145         patternString = replaceSep("ab/c*d");
146         expResult = new AntPattern(new String JavaDoc[] {"ab", "c*d"});
147         result = s.parsePatternString(patternString);
148         assertEquals(expResult, result);
149         
150         patternString = replaceSep("ab/c*d*");
151         expResult = new AntPattern(new String JavaDoc[] {"ab", "c*d*"});
152         result = s.parsePatternString(patternString);
153         assertEquals(expResult, result);
154         
155         patternString = replaceSep("**/cd");
156         expResult = new AntPattern(new String JavaDoc[] {"**", "cd"});
157         result = s.parsePatternString(patternString);
158         assertEquals(expResult, result);
159         
160         patternString = replaceSep("ab/");
161         expResult = new AntPattern(new String JavaDoc[] {"ab", "**"});
162         result = s.parsePatternString(patternString);
163         assertEquals(expResult, result);
164         
165         patternString = replaceSep("ab/*");
166         expResult = new AntPattern(new String JavaDoc[] {"ab", "*"});
167         result = s.parsePatternString(patternString);
168         assertEquals(expResult, result);
169         
170         patternString = replaceSep("a?bc/def*g/*.java");
171         expResult = new AntPattern(new String JavaDoc[] {"a?bc", "def*g", "*.java"});
172         result = s.parsePatternString(patternString);
173         assertEquals(expResult, result);
174
175         patternString = replaceSep("abc/**/**/xyz");
176         expResult = new AntPattern(new String JavaDoc[] {"abc", "**", "xyz"});
177         result = s.parsePatternString(patternString);
178         assertEquals(expResult, result);
179         
180         patternString = replaceSep("abc/**/**");
181         expResult = new AntPattern(new String JavaDoc[] {"abc", "**"});
182         result = s.parsePatternString(patternString);
183         assertEquals(expResult, result);
184
185         patternString = replaceSep("**");
186         expResult = new AntPattern(new String JavaDoc[] {"**"});
187         result = s.parsePatternString(patternString);
188         assertEquals(expResult, result);
189
190         patternString = replaceSep("**/**");
191         expResult = new AntPattern(new String JavaDoc[] {"**"});
192         result = s.parsePatternString(patternString);
193         assertEquals(expResult, result);
194
195         patternString = replaceSep("**/**/**");
196         expResult = new AntPattern(new String JavaDoc[] {"**"});
197         result = s.parsePatternString(patternString);
198         assertEquals(expResult, result);
199
200         patternString = replaceSep("**/xyz/*.java");
201         expResult = new AntPattern(new String JavaDoc[] {"**", "xyz", "*.java"});
202         result = s.parsePatternString(patternString);
203         assertEquals(expResult, result);
204
205         patternString = replaceSep("**/**/xyz/**");
206         expResult = new AntPattern(new String JavaDoc[] {"**", "xyz", "**"});
207         result = s.parsePatternString(patternString);
208         assertEquals(expResult, result);
209
210         patternString = replaceSep("ab/**/cd/**/**/ef/gh");
211         expResult = new AntPattern(new String JavaDoc[] {
212                                         "ab", "**", "cd", "**", "ef", "gh"});
213         result = s.parsePatternString(patternString);
214         assertEquals(expResult, result);
215
216     }
217     
218     public void testQuote() {
219         assertEquals("", AntPattern.quote(""));
220         assertEquals("abcd", AntPattern.quote("abcd"));
221         assertEquals("ab\\*cd", AntPattern.quote("ab*cd"));
222         assertEquals("\\^abcd", AntPattern.quote("^abcd"));
223         assertEquals("abcd\\$", AntPattern.quote("abcd$"));
224         assertEquals("ab\\|cd", AntPattern.quote("ab|cd"));
225         assertEquals("a\\.bcd", AntPattern.quote("a.bcd"));
226         assertEquals("a\\.\\*bcd", AntPattern.quote("a.*bcd"));
227         assertEquals("ab\\[p-q\\]cd", AntPattern.quote("ab[p-q]cd"));
228         assertEquals("ab\\(cd\\)\\*", AntPattern.quote("ab(cd)*"));
229         assertEquals("a\\+bcd\\$", AntPattern.quote("a+bcd$"));
230         assertEquals("abcd\\{4,\\}", AntPattern.quote("abcd{4,}"));
231     }
232     
233     private static String JavaDoc replaceSep(String JavaDoc pattern) {
234         return File.separatorChar == '/'
235                ? pattern
236                : pattern.replace('/', File.separatorChar);
237     }
238     
239     private static void assertNotEqual(Object JavaDoc a, Object JavaDoc b) {
240         assertTrue((a == null) && (b != null)
241                    || (a != null) && !a.equals(b));
242     }
243
244 }
245
Popular Tags