1   package xjavadoc;
2   
3   import junit.framework.*;
4   import xjavadoc.*;
5   import xjavadoc.filesystem.*;
6   import java.io.File;
7   import java.util.Collection;
8   import java.util.Collections;
9   import java.util.List;
10  import java.util.ArrayList;
11  import java.util.Iterator;
12  import java.util.StringTokenizer;
13  
14  /***
15   * Automatically generated JUnit test for xjavadoc
16   *
17   * @author xjavadoc/xdoclet
18   * @created 8. januar 2002
19   * @todo-javadoc Write javadocs
20   */
21  public class AbstractExecutableMember__GENERATED__Test extends TestCase {
22  
23  	private XClass _testedClass;
24  	private final XJavaDoc _xJavaDoc = new XJavaDoc();
25  
26  	private static final String tokenizeAndTrim( final String s ) {
27  		StringBuffer sb = new StringBuffer();
28  		StringTokenizer st = new StringTokenizer(s);
29  		while( st.hasMoreTokens() ) {
30  			sb.append( st.nextToken() ).append(" ");
31  		}
32  		return sb.toString().trim();
33  	}
34  
35  	public AbstractExecutableMember__GENERATED__Test( String name ) {
36  		super( name );
37  	}
38  
39  	public void setUp() throws Exception {
40  		// hardcoded to xjavadoc's own sources
41  		File dir = new File(System.getProperty("basedir"),"src");
42  		_xJavaDoc.reset(true);
43  		_xJavaDoc.addSourceSet(new FileSourceSet(dir, null));
44  		_testedClass = _xJavaDoc.getXClass( "xjavadoc.AbstractExecutableMember" );
45  	}
46  
47  	public void tearDown() {
48  	}
49  
50  	public void testPackage() {
51  		assertEquals( "xjavadoc", _testedClass.getContainingPackage().getName() );
52  	}
53  
54  	public void testSuperclass() {
55  		XClass superclass = _testedClass.getSuperclass();
56  		String superclassName;
57  		if( superclass == null ) {
58  			superclassName = "java.lang.Object";
59  		} else {
60  			superclassName = superclass.getQualifiedName();
61  		}
62  
63  		assertEquals( "xjavadoc.MemberImpl", superclassName );
64  	}
65  
66  	public void testInterfaces() {
67  		// not implemented in xdoclet yet
68  	}
69  
70  	public void testFields() {
71  
72  		// Sort the fields
73  		Collection fields = _testedClass.getFields();
74  		ArrayList sortedFields = new ArrayList();
75  		sortedFields.addAll(fields);
76  		Collections.sort(sortedFields);
77  		Iterator fieldIterator = sortedFields.iterator();
78  
79  		XField field = null;
80  		// test if field type is the same
81  		field = (XField) fieldIterator.next();
82  		assertEquals( "int", field.getType().getQualifiedName() + field.getDimensionAsString());
83  		// test if field name is the same
84  		assertEquals( "INITIAL_PARAMETER_POOL_SIZE", field.getName() );
85  		// test if field type is the same
86  		field = (XField) fieldIterator.next();
87  		assertEquals( "int", field.getType().getQualifiedName() + field.getDimensionAsString());
88  		// test if field name is the same
89  		assertEquals( "MAX_ARRAY_SIZE", field.getName() );
90  		// test if field type is the same
91  		field = (XField) fieldIterator.next();
92  		assertEquals( "int", field.getType().getQualifiedName() + field.getDimensionAsString());
93  		// test if field name is the same
94  		assertEquals( "PARAMETER_DATA_SIZE", field.getName() );
95  		// test if field type is the same
96  		field = (XField) fieldIterator.next();
97  		assertEquals( "java.lang.Integer[]", field.getType().getQualifiedName() + field.getDimensionAsString());
98  		// test if field name is the same
99  		assertEquals( "_dimensions", field.getName() );
100 		// test if field type is the same
101 		field = (XField) fieldIterator.next();
102 		assertEquals( "java.lang.String", field.getType().getQualifiedName() + field.getDimensionAsString());
103 		// test if field name is the same
104 		assertEquals( "_nameWithSignature", field.getName() );
105 		// test if field type is the same
106 		field = (XField) fieldIterator.next();
107 		assertEquals( "java.util.List", field.getType().getQualifiedName() + field.getDimensionAsString());
108 		// test if field name is the same
109 		assertEquals( "_parameterData", field.getName() );
110 		// test if field type is the same
111 		field = (XField) fieldIterator.next();
112 		assertEquals( "xjavadoc.ParameterImpl[]", field.getType().getQualifiedName() + field.getDimensionAsString());
113 		// test if field name is the same
114 		assertEquals( "_parameterPool", field.getName() );
115 		// test if field type is the same
116 		field = (XField) fieldIterator.next();
117 		assertEquals( "java.lang.String", field.getType().getQualifiedName() + field.getDimensionAsString());
118 		// test if field name is the same
119 		assertEquals( "_signature", field.getName() );
120 		// test if field type is the same
121 		field = (XField) fieldIterator.next();
122 		assertEquals( "java.lang.String", field.getType().getQualifiedName() + field.getDimensionAsString());
123 		// test if field name is the same
124 		assertEquals( "_stringId", field.getName() );
125 		// test if field type is the same
126 		field = (XField) fieldIterator.next();
127 		assertEquals( "java.util.List", field.getType().getQualifiedName() + field.getDimensionAsString());
128 		// test if field name is the same
129 		assertEquals( "_thrownExceptions", field.getName() );
130 	}
131 
132 	public void testMethods() {
133 
134 		// Sort the methods
135 		Collection methods = _testedClass.getMethods();
136 		ArrayList sortedMethods = new ArrayList();
137 		sortedMethods.addAll(methods);
138 		Collections.sort(sortedMethods);
139 		Iterator methodIterator = sortedMethods.iterator();
140 		XMethod method = null;
141 
142 		Iterator parameters = null;
143 		XParameter parameter = null;
144 
145 		Iterator paramTags = null;
146 		XTag paramTag = null;
147 
148 	    	method = (XMethod) methodIterator.next();
149 		// test if return type is the same
150 		assertEquals( "void", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
151 
152 		// test if method name is the same
153 		assertEquals( "addParameterData", method.getName() );
154 
155 		// test if parameters are the same
156 		parameters = method.getParameters().iterator();
157 	        parameter = (XParameter) parameters.next();
158 		assertEquals( "type", parameter.getName() );
159 		assertEquals( "java.lang.String", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
160 	        parameter = (XParameter) parameters.next();
161 		assertEquals( "name", parameter.getName() );
162 		assertEquals( "java.lang.String", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
163 	        parameter = (XParameter) parameters.next();
164 		assertEquals( "dimension", parameter.getName() );
165 		assertEquals( "int", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
166 
167 		// test if doc is the same
168 		paramTags = method.getDoc().getTags("param",true).iterator();
169 	        paramTag = (XTag) paramTags.next();
170 		assertEquals( tokenizeAndTrim("type       qualified nyme of parameter type"), paramTag.getValue() );
171 	        paramTag = (XTag) paramTags.next();
172 		assertEquals( tokenizeAndTrim("name       parameter name"), paramTag.getValue() );
173 	        paramTag = (XTag) paramTags.next();
174 		assertEquals( tokenizeAndTrim("dimension  parameter dimension"), paramTag.getValue() );
175 
176 	    	method = (XMethod) methodIterator.next();
177 		// test if return type is the same
178 		assertEquals( "void", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
179 
180 		// test if method name is the same
181 		assertEquals( "addThrownException", method.getName() );
182 
183 		// test if parameters are the same
184 		parameters = method.getParameters().iterator();
185 	        parameter = (XParameter) parameters.next();
186 		assertEquals( "thrownException", parameter.getName() );
187 		assertEquals( "java.lang.String", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
188 
189 		// test if doc is the same
190 		paramTags = method.getDoc().getTags("param",true).iterator();
191 
192 	    	method = (XMethod) methodIterator.next();
193 		// test if return type is the same
194 		assertEquals( "java.lang.StringBuffer", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
195 
196 		// test if method name is the same
197 		assertEquals( "appendSignature", method.getName() );
198 
199 		// test if parameters are the same
200 		parameters = method.getParameters().iterator();
201 	        parameter = (XParameter) parameters.next();
202 		assertEquals( "sb", parameter.getName() );
203 		assertEquals( "java.lang.StringBuffer", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
204 	        parameter = (XParameter) parameters.next();
205 		assertEquals( "withParam", parameter.getName() );
206 		assertEquals( "boolean", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
207 
208 		// test if doc is the same
209 		paramTags = method.getDoc().getTags("param",true).iterator();
210 
211 	    	method = (XMethod) methodIterator.next();
212 		// test if return type is the same
213 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
214 
215 		// test if method name is the same
216 		assertEquals( "buildStringId", method.getName() );
217 
218 		// test if parameters are the same
219 		parameters = method.getParameters().iterator();
220 
221 		// test if doc is the same
222 		paramTags = method.getDoc().getTags("param",true).iterator();
223 
224 	    	method = (XMethod) methodIterator.next();
225 		// test if return type is the same
226 		assertEquals( "boolean", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
227 
228 		// test if method name is the same
229 		assertEquals( "equals", method.getName() );
230 
231 		// test if parameters are the same
232 		parameters = method.getParameters().iterator();
233 	        parameter = (XParameter) parameters.next();
234 		assertEquals( "o", parameter.getName() );
235 		assertEquals( "java.lang.Object", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
236 
237 		// test if doc is the same
238 		paramTags = method.getDoc().getTags("param",true).iterator();
239 
240 	    	method = (XMethod) methodIterator.next();
241 		// test if return type is the same
242 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
243 
244 		// test if method name is the same
245 		assertEquals( "getNameWithSignature", method.getName() );
246 
247 		// test if parameters are the same
248 		parameters = method.getParameters().iterator();
249 	        parameter = (XParameter) parameters.next();
250 		assertEquals( "withParam", parameter.getName() );
251 		assertEquals( "boolean", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
252 
253 		// test if doc is the same
254 		paramTags = method.getDoc().getTags("param",true).iterator();
255 	        paramTag = (XTag) paramTags.next();
256 		assertEquals( tokenizeAndTrim("withParam  if true, include the parameters in the signature.       Otherwise, only the types will be used."), paramTag.getValue() );
257 
258 	    	method = (XMethod) methodIterator.next();
259 		// test if return type is the same
260 		assertEquals( "int", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
261 
262 		// test if method name is the same
263 		assertEquals( "getParameterDimension", method.getName() );
264 
265 		// test if parameters are the same
266 		parameters = method.getParameters().iterator();
267 	        parameter = (XParameter) parameters.next();
268 		assertEquals( "index", parameter.getName() );
269 		assertEquals( "int", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
270 
271 		// test if doc is the same
272 		paramTags = method.getDoc().getTags("param",true).iterator();
273 
274 	    	method = (XMethod) methodIterator.next();
275 		// test if return type is the same
276 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
277 
278 		// test if method name is the same
279 		assertEquals( "getParameterName", method.getName() );
280 
281 		// test if parameters are the same
282 		parameters = method.getParameters().iterator();
283 	        parameter = (XParameter) parameters.next();
284 		assertEquals( "index", parameter.getName() );
285 		assertEquals( "int", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
286 
287 		// test if doc is the same
288 		paramTags = method.getDoc().getTags("param",true).iterator();
289 
290 	    	method = (XMethod) methodIterator.next();
291 		// test if return type is the same
292 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
293 
294 		// test if method name is the same
295 		assertEquals( "getParameterType", method.getName() );
296 
297 		// test if parameters are the same
298 		parameters = method.getParameters().iterator();
299 	        parameter = (XParameter) parameters.next();
300 		assertEquals( "index", parameter.getName() );
301 		assertEquals( "int", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
302 
303 		// test if doc is the same
304 		paramTags = method.getDoc().getTags("param",true).iterator();
305 
306 	    	method = (XMethod) methodIterator.next();
307 		// test if return type is the same
308 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
309 
310 		// test if method name is the same
311 		assertEquals( "getParameterTypes", method.getName() );
312 
313 		// test if parameters are the same
314 		parameters = method.getParameters().iterator();
315 
316 		// test if doc is the same
317 		paramTags = method.getDoc().getTags("param",true).iterator();
318 
319 	    	method = (XMethod) methodIterator.next();
320 		// test if return type is the same
321 		assertEquals( "java.util.List", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
322 
323 		// test if method name is the same
324 		assertEquals( "getParameters", method.getName() );
325 
326 		// test if parameters are the same
327 		parameters = method.getParameters().iterator();
328 
329 		// test if doc is the same
330 		paramTags = method.getDoc().getTags("param",true).iterator();
331 
332 	    	method = (XMethod) methodIterator.next();
333 		// test if return type is the same
334 		assertEquals( "java.util.List", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
335 
336 		// test if method name is the same
337 		assertEquals( "getQualifiedExceptions", method.getName() );
338 
339 		// test if parameters are the same
340 		parameters = method.getParameters().iterator();
341 
342 		// test if doc is the same
343 		paramTags = method.getDoc().getTags("param",true).iterator();
344 
345 	    	method = (XMethod) methodIterator.next();
346 		// test if return type is the same
347 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
348 
349 		// test if method name is the same
350 		assertEquals( "getSignature", method.getName() );
351 
352 		// test if parameters are the same
353 		parameters = method.getParameters().iterator();
354 	        parameter = (XParameter) parameters.next();
355 		assertEquals( "withParam", parameter.getName() );
356 		assertEquals( "boolean", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
357 
358 		// test if doc is the same
359 		paramTags = method.getDoc().getTags("param",true).iterator();
360 	        paramTag = (XTag) paramTags.next();
361 		assertEquals( tokenizeAndTrim("withParam  if true, include the parameters in the signature.       Otherwise, only the types will be used."), paramTag.getValue() );
362 
363 	    	method = (XMethod) methodIterator.next();
364 		// test if return type is the same
365 		assertEquals( "xjavadoc.XProgramElement", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
366 
367 		// test if method name is the same
368 		assertEquals( "getSuperElement", method.getName() );
369 
370 		// test if parameters are the same
371 		parameters = method.getParameters().iterator();
372 	        parameter = (XParameter) parameters.next();
373 		assertEquals( "forMethod", parameter.getName() );
374 		assertEquals( "boolean", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
375 
376 		// test if doc is the same
377 		paramTags = method.getDoc().getTags("param",true).iterator();
378 
379 	    	method = (XMethod) methodIterator.next();
380 		// test if return type is the same
381 		assertEquals( "java.util.List", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
382 
383 		// test if method name is the same
384 		assertEquals( "getThrownExceptions", method.getName() );
385 
386 		// test if parameters are the same
387 		parameters = method.getParameters().iterator();
388 
389 		// test if doc is the same
390 		paramTags = method.getDoc().getTags("param",true).iterator();
391 
392 	    	method = (XMethod) methodIterator.next();
393 		// test if return type is the same
394 		assertEquals( "int", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
395 
396 		// test if method name is the same
397 		assertEquals( "hashCode", method.getName() );
398 
399 		// test if parameters are the same
400 		parameters = method.getParameters().iterator();
401 
402 		// test if doc is the same
403 		paramTags = method.getDoc().getTags("param",true).iterator();
404 
405 	    	method = (XMethod) methodIterator.next();
406 		// test if return type is the same
407 		assertEquals( "boolean", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
408 
409 		// test if method name is the same
410 		assertEquals( "isNative", method.getName() );
411 
412 		// test if parameters are the same
413 		parameters = method.getParameters().iterator();
414 
415 		// test if doc is the same
416 		paramTags = method.getDoc().getTags("param",true).iterator();
417 
418 	    	method = (XMethod) methodIterator.next();
419 		// test if return type is the same
420 		assertEquals( "boolean", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
421 
422 		// test if method name is the same
423 		assertEquals( "isSynchronized", method.getName() );
424 
425 		// test if parameters are the same
426 		parameters = method.getParameters().iterator();
427 
428 		// test if doc is the same
429 		paramTags = method.getDoc().getTags("param",true).iterator();
430 
431 	    	method = (XMethod) methodIterator.next();
432 		// test if return type is the same
433 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
434 
435 		// test if method name is the same
436 		assertEquals( "stringId", method.getName() );
437 
438 		// test if parameters are the same
439 		parameters = method.getParameters().iterator();
440 
441 		// test if doc is the same
442 		paramTags = method.getDoc().getTags("param",true).iterator();
443 
444 	    	method = (XMethod) methodIterator.next();
445 		// test if return type is the same
446 		assertEquals( "boolean", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
447 
448 		// test if method name is the same
449 		assertEquals( "throwsException", method.getName() );
450 
451 		// test if parameters are the same
452 		parameters = method.getParameters().iterator();
453 	        parameter = (XParameter) parameters.next();
454 		assertEquals( "exception_class_name", parameter.getName() );
455 		assertEquals( "java.lang.String", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
456 
457 		// test if doc is the same
458 		paramTags = method.getDoc().getTags("param",true).iterator();
459 
460 	    	method = (XMethod) methodIterator.next();
461 		// test if return type is the same
462 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
463 
464 		// test if method name is the same
465 		assertEquals( "toString", method.getName() );
466 
467 		// test if parameters are the same
468 		parameters = method.getParameters().iterator();
469 	        parameter = (XParameter) parameters.next();
470 		assertEquals( "parameter", parameter.getName() );
471 		assertEquals( "xjavadoc.XParameter", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
472 	        parameter = (XParameter) parameters.next();
473 		assertEquals( "withParam", parameter.getName() );
474 		assertEquals( "boolean", parameter.getType().getQualifiedName() + parameter.getDimensionAsString());
475 
476 		// test if doc is the same
477 		paramTags = method.getDoc().getTags("param",true).iterator();
478 
479 	    	method = (XMethod) methodIterator.next();
480 		// test if return type is the same
481 		assertEquals( "java.lang.String", method.getReturnType().getType().getQualifiedName() + method.getReturnType().getDimensionAsString());
482 
483 		// test if method name is the same
484 		assertEquals( "toString", method.getName() );
485 
486 		// test if parameters are the same
487 		parameters = method.getParameters().iterator();
488 
489 		// test if doc is the same
490 		paramTags = method.getDoc().getTags("param",true).iterator();
491 
492 	}
493 }