Title: [1081] trunk/qdox/src/test/com/thoughtworks/qdox/model: Use generics for JavaClassTest
Revision
1081
Author
rfscholte
Date
2011-02-27 07:15:39 -0600 (Sun, 27 Feb 2011)

Log Message

Use generics for JavaClassTest

Modified Paths


Diff

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaClassTest.java (1080 => 1081)

--- trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaClassTest.java	2011-02-26 11:31:17 UTC (rev 1080)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaClassTest.java	2011-02-27 13:15:39 UTC (rev 1081)
@@ -5,7 +5,7 @@
 import com.thoughtworks.qdox.library.SortedClassLibraryBuilder;
 
 public class DefaultJavaClassTest
-    extends JavaClassTest
+    extends JavaClassTest<DefaultJavaClass>
 {
 
     public DefaultJavaClassTest( String s )
@@ -13,12 +13,12 @@
         super( s );
     }
 
-    public JavaClass newJavaClass()
+    public DefaultJavaClass newJavaClass()
     {
         return new DefaultJavaClass();
     }
 
-    public JavaClass newJavaClass( String name )
+    public DefaultJavaClass newJavaClass( String name )
     {
         return new DefaultJavaClass( name );
     }
@@ -108,9 +108,9 @@
     }
 
     // Set-methods
-    public void setComment( JavaClass clazz, String comment )
+    public void setComment( DefaultJavaClass clazz, String comment )
     {
-        ((DefaultJavaClass) clazz).setComment( comment );
+        clazz.setComment( comment );
     }
 
     public void setComment( JavaField field, String comment )
@@ -123,24 +123,24 @@
         ((AbstractBaseMethod) method).setComment( comment );
     }
 
-    public void setEnum( JavaClass clazz, boolean isEnum )
+    public void setEnum( DefaultJavaClass clazz, boolean isEnum )
     {
-        ((DefaultJavaClass) clazz).setEnum( isEnum );
+        clazz.setEnum( isEnum );
     }
 
-    public void setImplementz( JavaClass clazz, List<Type> implementz )
+    public void setImplementz( DefaultJavaClass clazz, List<Type> implementz )
     {
-        ((DefaultJavaClass) clazz).setImplementz( implementz );
+        clazz.setImplementz( implementz );
     }
 
-    public void setInterface( JavaClass clazz, boolean isInterface )
+    public void setInterface( DefaultJavaClass clazz, boolean isInterface )
     {
-        ((DefaultJavaClass) clazz).setInterface( isInterface );
+        clazz.setInterface( isInterface );
     }
 
-    public void setModifiers( JavaClass clazz, List<String> modifiers )
+    public void setModifiers( DefaultJavaClass clazz, List<String> modifiers )
     {
-        ((DefaultJavaClass) clazz).setModifiers( modifiers );
+        clazz.setModifiers( modifiers );
     }
 
     public void setModifiers( JavaField field, List<String> modifiers )
@@ -148,9 +148,9 @@
         ((DefaultJavaField) field).setModifiers( modifiers );
     }
 
-    public void setName( JavaClass clazz, String name )
+    public void setName( DefaultJavaClass clazz, String name )
     {
-        ((DefaultJavaClass) clazz).setName( name );
+        clazz.setName( name );
     }
 
     public void setName( JavaField field, String name )
@@ -173,9 +173,9 @@
         ((DefaultJavaMethod) method).setReturns( returns );
     }
 
-    public void setSuperClass( JavaClass clazz, Type type )
+    public void setSuperClass( DefaultJavaClass clazz, Type type )
     {
-        ((DefaultJavaClass) clazz).setSuperClass( type );
+        clazz.setSuperClass( type );
     }
 
     public void setType( JavaField field, Type type )

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaClassTest.java (1080 => 1081)

--- trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaClassTest.java	2011-02-26 11:31:17 UTC (rev 1080)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaClassTest.java	2011-02-27 13:15:39 UTC (rev 1081)
@@ -8,17 +8,29 @@
 
 import junit.framework.TestCase;
 
-public abstract class JavaClassTest extends TestCase {
+public abstract class JavaClassTest<C extends JavaClass> extends TestCase {
 
-    private JavaClass cls;
+    private C cls;
     private JavaSource src;
 
     public JavaClassTest(String s) {
         super(s);
     }
     
-    public abstract JavaClass newJavaClass();
-    public abstract JavaClass newJavaClass(String name);
+    //contructors
+    public abstract C newJavaClass();
+    public abstract C newJavaClass(String name);
+    
+    //setters
+    public abstract void setComment(C clazz, String comment);
+    public abstract void setEnum(C clazz, boolean isEnum);
+    public abstract void setImplementz(C clazz, List<Type> implementz);
+    public abstract void setInterface(C clazz, boolean isInterface);
+    public abstract void setModifiers(C clazz, List<String> modifiers);
+    public abstract void setName(C clazz, String name);
+    public abstract void setSuperClass(C clazz, Type type);
+    
+    
     public abstract JavaField newJavaField(JavaClass jClass);
     public abstract JavaMethod newJavaMethod();
     public abstract JavaMethod newJavaMethod(String name);
@@ -29,20 +41,13 @@
     public abstract JavaSource newJavaSource();
     public abstract Type newType(String fullname);
     
-    public abstract void setComment(JavaClass clazz, String comment);
     public abstract void setComment(JavaField field, String comment);
     public abstract void setComment(JavaMethod method, String comment);
-    public abstract void setEnum(JavaClass clazz, boolean isEnum);
-    public abstract void setImplementz(JavaClass clazz, List<Type> implementz);
-    public abstract void setInterface(JavaClass clazz, boolean isInterface);
-    public abstract void setModifiers(JavaClass clazz, List<String> modifiers);
     public abstract void setModifiers(JavaField field, List<String> modifiers);
-    public abstract void setName(JavaClass clazz, String name);
     public abstract void setName(JavaField field, String name);
     public abstract void setName(JavaMethod method, String name);
     public abstract void setPackage(JavaSource source, JavaPackage pckg);
     public abstract void setReturns(JavaMethod clazz, Type returns);
-    public abstract void setSuperClass(JavaClass clazz, Type type);
     public abstract void setType(JavaField field, Type type);
     
     public abstract void addClass(JavaClass clazz, JavaClass innerClazz);
@@ -270,7 +275,7 @@
 
     public void testGetCodeBlockClassWithInnerClass() throws Exception {
         setName(cls, "Outer");
-        JavaClass innerClass = newJavaClass();
+        C innerClass = newJavaClass();
         setName(innerClass, "Inner");
         addClass(cls, innerClass);
 
@@ -287,7 +292,7 @@
 
     public void testGetCodeBlockClassWithInnerEnum() throws Exception {
         setName(cls, "Outer");
-        JavaClass innerEnum = newJavaClass();
+        C innerEnum = newJavaClass();
         setEnum(innerEnum, true);
         setName(innerEnum, "Inner");
         addClass(cls, innerEnum);
@@ -306,7 +311,7 @@
     public void testGetCodeBlockEnumWithInnerClass() throws Exception {
         setName(cls, "Outer");
         setEnum(cls, true);
-        JavaClass innerClass = newJavaClass();
+        C innerClass = newJavaClass();
         setName(innerClass, "Inner");
         addClass(cls, innerClass);
 
@@ -403,11 +408,11 @@
     public void testInnerClass() throws Exception {
         setPackage(src, newJavaPackage("foo.bar"));
 
-        JavaClass outer = newJavaClass();
+        C outer = newJavaClass();
         setName(outer, "Outer");
         addClass(src, outer);
 
-        JavaClass inner = newJavaClass();
+        C inner = newJavaClass();
         setName(inner, "Inner");
         addClass(outer, inner);
 
@@ -492,7 +497,7 @@
     }
 
     public void testCanGetInnerClassByName() throws Exception {
-        JavaClass innerClass = newJavaClass();
+        C innerClass = newJavaClass();
         setName(innerClass, "Inner");
         addClass(cls, innerClass);
 
@@ -508,7 +513,7 @@
     public void testResolveTypeInnerClass() throws Exception {
         setPackage(src, newJavaPackage("p"));
         setName(cls, "X");
-        JavaClass innerClass = newJavaClass();
+        C innerClass = newJavaClass();
         setName(innerClass, "DogFood");
         addClass(cls, innerClass);
         assertEquals("p.X$DogFood", cls.resolveType("DogFood"));
@@ -562,7 +567,7 @@
     	JavaPackage jPackage = newJavaPackage("com.thoughtworks.qdox.model");
     	JavaClass jOuterClass = newJavaClass("OuterClass");
     	addClass(jPackage, jOuterClass);
-    	JavaClass jInnerInterface = newJavaClass("InnerInterface");
+    	C jInnerInterface = newJavaClass("InnerInterface");
     	setInterface(jInnerInterface, true);
     	addClass(jOuterClass, jInnerInterface);
     	assertEquals("interface com.thoughtworks.qdox.model.OuterClass$InnerInterface", jInnerInterface.toString());


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to