KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > csdl > jblanket > modifier > TestModifier


1 package csdl.jblanket.modifier;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.List JavaDoc;
5 import java.io.File JavaDoc;
6 import java.text.ParseException JavaDoc;
7
8 import junit.framework.TestCase;
9
10 /**
11  * Tests the Modifier class.
12  *
13  * @author Joy M. Agustin
14  * @version $Id: TestModifier.java,v 1.2 2005/02/19 05:55:19 timshadel Exp $
15  */

16 public class TestModifier extends TestCase {
17
18   /** Modifier instance used for testing */
19   private Modifier modifier;
20
21   /** Directory all testing output files should be stored in */
22   private final String JavaDoc testDir = System.getProperty("jblanket.testdir");
23   /** Relative output directory for this test case */
24   private final String JavaDoc myTestDir = "testmodifier";
25   /** Directory separator */
26   private final String JavaDoc slash = File.separator;
27   /** Grammar for testing */
28   private final String JavaDoc testGrammar = "Test*.class";
29
30   /** Describes if one-line methods should be excluded from the coverage measurement */
31   private final boolean excludeOneLineMethods = true;
32   /** Describes if constructors should be excluded from the coverage measurement */
33   private final boolean excludeConstructors = true;
34
35   /** Name of total file for testing */
36   private final String JavaDoc totalFile = "mytotalMethods.xml";
37   /** Name of excluded file for testing */
38   private final String JavaDoc excludedFile = "myExcludedMethods.xml";
39   /** Name of one line file for testing */
40   private final String JavaDoc oneLineFile = "myOneLineMethods.xml";
41   /** Name of untestable file for testing */
42   private final String JavaDoc untestableFile = "myUntestableFile.xml";
43
44   /** Package prefix for testing */
45   private ArrayList JavaDoc packagePrefixes = new ArrayList JavaDoc();
46
47   /**
48    * Required by Junit.
49    *
50    * @param name Test case name.
51    */

52   public TestModifier(String JavaDoc name) {
53     super(name);
54   }
55
56   /**
57    * Sets up instance variables for testing.
58    *
59    * @throws Exception if error while creating Modifier instance.
60    */

61   public void setUp() throws Exception JavaDoc {
62
63     // add values to packagePrefix
64
this.packagePrefixes = new ArrayList JavaDoc();
65     this.packagePrefixes.add("csdl.jblanket.test.");
66
67     // initialize modifier instance variable
68
this.modifier = new Modifier(false, this.testGrammar, this.excludeOneLineMethods,
69                                   this.excludeConstructors, false, this.packagePrefixes);
70   }
71
72   /**
73    * Tests the isValidTestGrammar method.
74    *
75    * @throws Exception if errors occur while deleting directories.
76    */

77   public void testIsValidTestGrammar() throws Exception JavaDoc {
78
79     // Test class names
80
final String JavaDoc testFoo = "Testfoo";
81     final String JavaDoc fooTest = "fooTest";
82
83     // valid grammars that begin with 'Prefix'
84
final String JavaDoc testPrefix1 = "Prefix*.class";
85     final String JavaDoc testPrefix2 = "Prefix*.java";
86     final String JavaDoc testPrefix3 = "Prefix*.";
87     final String JavaDoc testPrefix4 = "Prefix*";
88
89     // valid grammars that begin with 'Test'
90
final String JavaDoc testGrammar1 = "Test*.class";
91     final String JavaDoc testGrammar2 = "Test*.java";
92     final String JavaDoc testGrammar3 = "Test*.";
93     final String JavaDoc testGrammar4 = "Test*";
94
95     // valid grammars that end with 'Test'
96
final String JavaDoc grammarTest1 = "*Test.class";
97     final String JavaDoc grammarTest2 = "*Test.java";
98     final String JavaDoc grammarTest3 = "*Test.";
99     final String JavaDoc grammarTest4 = "*Test";
100
101     // valid grammars that end with 'Ending'
102
final String JavaDoc grammarEnding1 = "*Ending.class";
103     final String JavaDoc grammarEnding2 = "*Ending.java";
104     final String JavaDoc grammarEnding3 = "*Ending.";
105     final String JavaDoc grammarEnding4 = "*Ending";
106
107     // invalid grammars that do not begin with 'Test'
108
final String JavaDoc invalidTestGrammar1 = "FooTest%.class";
109     final String JavaDoc invalidTestGrammar2 = "FooTest%.java";
110     final String JavaDoc invalidTestGrammar3 = "FooTest%.";
111     final String JavaDoc invalidTestGrammar4 = "FooTest%";
112     final String JavaDoc invalidTestGrammar5 = "FooTest*.j";
113     final String JavaDoc invalidTestGrammar6 = "Foo.Test*.j";
114     final String JavaDoc invalidTestGrammar7 = "test%";
115
116     // invalid grammars that do not end with 'Test'
117
final String JavaDoc invalidGrammarTest1 = "%TestFoo.class";
118     final String JavaDoc invalidGrammarTest2 = "%TestFoo.java";
119     final String JavaDoc invalidGrammarTest3 = "%TestFoo.";
120     final String JavaDoc invalidGrammarTest4 = "%TestFoo";
121     final String JavaDoc invalidGrammarTest5 = "*TestFoo.j";
122     final String JavaDoc invalidGrammarTest6 = "*Test.Foo.j";
123     final String JavaDoc invalidGrammarTest7 = "%test";
124
125     // begin tests
126
// test valid grammars that begin with 'Prefix'
127
assertTrue("Checking " + testPrefix1, modifier.isValidTestGrammar(testPrefix1));
128     assertTrue("Checking " + testPrefix2, modifier.isValidTestGrammar(testPrefix2));
129     assertTrue("Checking " + testPrefix3, modifier.isValidTestGrammar(testPrefix3));
130     assertTrue("Checking " + testPrefix4, modifier.isValidTestGrammar(testPrefix4));
131
132     // test valid grammars that begin with 'Test'
133
assertTrue("Checking " + testGrammar1, modifier.isValidTestGrammar(testGrammar1));
134     assertTrue("Checking " + testGrammar2, modifier.isValidTestGrammar(testGrammar2));
135     assertTrue("Checking " + testGrammar3, modifier.isValidTestGrammar(testGrammar3));
136     assertTrue("Checking " + testGrammar4, modifier.isValidTestGrammar(testGrammar4));
137
138     // test valid grammars that end with 'Test'
139
assertTrue("Checking " + grammarTest1, modifier.isValidTestGrammar(grammarTest1));
140     assertTrue("Checking " + grammarTest2, modifier.isValidTestGrammar(grammarTest2));
141     assertTrue("Checking " + grammarTest3, modifier.isValidTestGrammar(grammarTest3));
142     assertTrue("Checking " + grammarTest4, modifier.isValidTestGrammar(grammarTest4));
143
144     // test valid grammars that end with 'TestCase'
145
assertTrue("Checking " + grammarEnding1,
146             modifier.isValidTestGrammar(grammarEnding1));
147     assertTrue("Checking " + grammarEnding2,
148             modifier.isValidTestGrammar(grammarEnding2));
149     assertTrue("Checking " + grammarEnding3,
150             modifier.isValidTestGrammar(grammarEnding3));
151     assertTrue("Checking " + grammarEnding4,
152             modifier.isValidTestGrammar(grammarEnding4));
153
154     // test invalid grammars that do not begin with 'Test'
155
try {
156       assertTrue("Checking invalid grammar " + invalidTestGrammar1,
157                  modifier.isValidTestGrammar(invalidTestGrammar1));
158       fail("Passed invalid grammar " + invalidTestGrammar1);
159     }
160     catch (ParseException JavaDoc e) {
161       // Do nothing, test passed
162
}
163
164     try {
165       modifier.isValidTestGrammar(invalidTestGrammar2);
166       fail("Passed invalid grammar " + invalidTestGrammar2);
167     }
168     catch (ParseException JavaDoc e) {
169       // Do nothing, test passed
170
}
171
172     try {
173       modifier.isValidTestGrammar(invalidTestGrammar3);
174       fail("Passed invalid grammar " + invalidTestGrammar3);
175     }
176     catch (ParseException JavaDoc e) {
177       // Do nothing, test passed
178
}
179
180     try {
181       modifier.isValidTestGrammar(invalidTestGrammar4);
182       fail("Passed invalid grammar " + invalidTestGrammar4);
183     }
184     catch (ParseException JavaDoc e) {
185       // Do nothing, test passed
186
}
187
188     try {
189       modifier.isValidTestGrammar(invalidTestGrammar5);
190       fail("Passed invalid grammar " + invalidTestGrammar5);
191     }
192     catch (ParseException JavaDoc e) {
193       // Do nothing, test passed
194
}
195
196     try {
197       modifier.isValidTestGrammar(invalidTestGrammar6);
198       fail("Passed invalid grammar " + invalidTestGrammar6);
199     }
200     catch (ParseException JavaDoc e) {
201       // Do nothing, test passed
202
}
203
204     try {
205       modifier.isValidTestGrammar(invalidTestGrammar7);
206       fail("Passed invalid grammar " + invalidTestGrammar7);
207     }
208     catch (ParseException JavaDoc e) {
209       // Do nothing, test passed
210
}
211
212     // test invalid grammars that do not end with 'Test'
213
try {
214       modifier.isValidTestGrammar(invalidGrammarTest1);
215       fail("Passed invalid grammar " + invalidGrammarTest1);
216     }
217     catch (ParseException JavaDoc e) {
218       // Do nothing, test passed
219
}
220
221     try {
222       modifier.isValidTestGrammar(invalidGrammarTest2);
223       fail("Passed invalid grammar " + invalidGrammarTest2);
224     }
225     catch (ParseException JavaDoc e) {
226       // Do nothing, test passed
227
}
228
229     try {
230       modifier.isValidTestGrammar(invalidGrammarTest3);
231       fail("Passed invalid grammar " + invalidGrammarTest3);
232     }
233     catch (ParseException JavaDoc e) {
234       // Do nothing, test passed
235
}
236
237     try {
238       modifier.isValidTestGrammar(invalidGrammarTest4);
239       fail("Passed invalid grammar " + invalidGrammarTest4);
240     }
241     catch (ParseException JavaDoc e) {
242       // Do nothing, test passed
243
}
244
245     try {
246       modifier.isValidTestGrammar(invalidGrammarTest5);
247       fail("Passed invalid grammar " + invalidGrammarTest5);
248     }
249     catch (ParseException JavaDoc e) {
250       // Do nothing, test passed
251
}
252
253     try {
254       modifier.isValidTestGrammar(invalidGrammarTest6);
255       fail("Passed invalid grammar " + invalidGrammarTest6);
256     }
257     catch (ParseException JavaDoc e) {
258       // Do nothing, test passed
259
}
260
261     try {
262       modifier.isValidTestGrammar(invalidGrammarTest7);
263       fail("Passed invalid grammar " + invalidGrammarTest7);
264     }
265     catch (ParseException JavaDoc e) {
266       // Do nothing, test passed
267
}
268   }
269
270   /**
271    * Tests the deleteDirectory method.
272    *
273    * @throws Exception if errors occur while deleting directories.
274    */

275   public void testDeleteDirectory() throws Exception JavaDoc {
276
277     // fake directory to create
278
final String JavaDoc fakeDir = "first" + slash + "second" + slash + "third";
279
280     // set directory and subdirectories
281
File JavaDoc dir = new File JavaDoc(testDir + slash + myTestDir);
282     File JavaDoc subdir = new File JavaDoc(dir, "first");
283     File JavaDoc subdirs = new File JavaDoc(dir, fakeDir);
284
285     // create directory
286
subdirs.mkdirs();
287
288     // delete myTestDir and its subdirectories
289
this.modifier.deleteDirectory(subdir);
290
291     // check if any subdirectories exist
292
String JavaDoc[] existingSubdirs = dir.list();
293     assertTrue("checking existence of subdirectories", existingSubdirs.length == 0);
294   }
295
296   /**
297    * Tests the toArrayList method.
298    */

299   public void testToArrayList() {
300
301     String JavaDoc rawList = "a;b c;d:e;f;";
302     List JavaDoc list = Modifier.stringToArrayList(rawList);
303     assertEquals("checking size of array list", 4, list.size());
304
305     // checking individual items in the list
306
assertEquals("checking array list", "a", list.get(0));
307     assertEquals("checking array list", "b c", list.get(1));
308     assertEquals("checking array list", "d:e", list.get(2));
309     assertEquals("checking array list", "f", list.get(3));
310   }
311 }
312
Popular Tags