Title: [1142] trunk/qdox/src/test/java/com/thoughtworks/qdox/model: mocking JavaMethodTest
Revision
1142
Author
rfscholte
Date
2011-03-26 13:19:37 -0500 (Sat, 26 Mar 2011)

Log Message

mocking JavaMethodTest

Modified Paths


Diff

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java (1141 => 1142)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java	2011-03-24 22:18:14 UTC (rev 1141)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java	2011-03-26 18:19:37 UTC (rev 1142)
@@ -11,16 +11,6 @@
         super( s );
     }
 
-    public JavaClass newJavaClass()
-    {
-        return new DefaultJavaClass();
-    }
-
-    public JavaClass newJavaClass( String fullname )
-    {
-        return new DefaultJavaClass( fullname );
-    }
-
     public DefaultJavaMethod newJavaMethod()
     {
         return new DefaultJavaMethod();
@@ -41,11 +31,6 @@
         return new DefaultJavaParameter( type, name, varArgs );
     }
 
-    public JavaSource newJavaSource(com.thoughtworks.qdox.library.ClassLibrary classLibrary )
-    {
-        return new DefaultJavaSource(classLibrary);
-    }
-
     public Type newType( String fullname )
     {
         return new Type( fullname );
@@ -86,24 +71,20 @@
         method.setReturns( type );
     }
 
-    public void addClass( JavaSource source, JavaClass clazz )
+    public void setParentClass( DefaultJavaMethod method, JavaClass clazz )
     {
-        ((DefaultJavaClass) clazz).setSource( source );
-        ((DefaultJavaSource) source).addClass( clazz );
+        method.setParentClass( clazz );
     }
 
-    public void addMethod( JavaClass clazz, JavaMethod method )
+    @Override
+    public void setParameters( DefaultJavaMethod method, List<JavaParameter> parameters )
     {
-        ((DefaultJavaClass) clazz).addMethod( method );
-        ((AbstractBaseMethod) method).setParentClass( clazz );
+        for ( JavaParameter javaParameter : parameters )
+        {
+            method.addParameter( javaParameter );
+        }
     }
 
-    public void addParameter( JavaMethod method, JavaParameter parameter )
-    {
-        ((AbstractBaseMethod) method).addParameter( parameter );
-        ((DefaultJavaParameter) parameter).setParentMethod( method );
-    }
-
     public void setSourceCode( DefaultJavaMethod method, String code )
     {
         method.setSourceCode( code );

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/JavaMethodTest.java (1141 => 1142)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/JavaMethodTest.java	2011-03-24 22:18:14 UTC (rev 1141)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/JavaMethodTest.java	2011-03-26 18:19:37 UTC (rev 1142)
@@ -1,19 +1,17 @@
 package com.thoughtworks.qdox.model;
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
 import junit.framework.TestCase;
 
-import com.thoughtworks.qdox.library.ClassLibrary;
-import com.thoughtworks.qdox.library.ClassNameLibrary;
-
 public abstract class JavaMethodTest<M extends JavaMethod> extends TestCase {
 
     private M mth;
-    private JavaSource source;
-    private JavaClass clazz;
 
     public JavaMethodTest(String s) {
         super(s);
@@ -29,28 +27,19 @@
     public abstract void setConstructor(M method, boolean isConstructor);
     public abstract void setName(M method, String name);
     public abstract void setModifiers(M method, List<String> modifiers);
+    public abstract void setParameters(M method, List<JavaParameter> parameters);
+    public abstract void setParentClass(M method, JavaClass clazz);
     public abstract void setReturns(M method, Type type);
     public abstract void setSourceCode(M method, String code);
     
-    public abstract JavaClass newJavaClass();
-    public abstract JavaClass newJavaClass(String fullname);
+    
     public abstract JavaParameter newJavaParameter(Type type, String name);
     public abstract JavaParameter newJavaParameter(Type type, String name, boolean varArgs);
-    public abstract JavaSource newJavaSource(ClassLibrary classLibrary );
     public abstract Type newType(String fullname);
     public abstract Type newType(String fullname, int dimensions);
     
-    
-    public abstract void addClass(JavaSource source, JavaClass clazz);
-    public abstract void addMethod(JavaClass clazz, JavaMethod method);
-    public abstract void addParameter(JavaMethod method, JavaParameter parameter);
-
     protected void setUp() throws Exception {
-        source = newJavaSource(new ClassNameLibrary());
-        clazz = newJavaClass();
-        addClass(source, clazz);
         mth = newJavaMethod();
-        addMethod(clazz, mth);
     }
 
     public void testDeclarationSignatureWithModifiers() {
@@ -79,8 +68,7 @@
             newType("FishException"),
             newType("FruitException"),
         } ));
-        addParameter(mth, newJavaParameter(newType("int"), "count"));
-        addParameter(mth, newJavaParameter(newType("MyThing"), "t"));
+        setParameters( mth, Arrays.asList( newJavaParameter(newType("int"), "count"), newJavaParameter(newType("MyThing"), "t") ) );
     }
 
 //    public void testSignatureWithVarArgs() throws Exception {
@@ -98,24 +86,21 @@
     public void testGetCodeBlockOneParam() throws Exception {
         setName(mth, "blah");
         setReturns(mth, newType("void"));
-        addParameter(mth, newJavaParameter(newType("String"), "thingy"));
+        setParameters( mth, Collections.singletonList( newJavaParameter(newType("String"), "thingy") ) );
         assertEquals("void blah(String thingy);\n", mth.getCodeBlock());
     }
 
     public void testGetCodeBlockTwoParams() throws Exception {
         setName(mth, "blah");
         setReturns(mth, newType("void"));
-        addParameter(mth, newJavaParameter(newType("int"), "count"));
-        addParameter(mth, newJavaParameter(newType("MyThing"), "t"));
+        setParameters(mth, Arrays.asList( newJavaParameter(newType("int"), "count"), newJavaParameter(newType("MyThing"), "t") ) );
         assertEquals("void blah(int count, MyThing t);\n", mth.getCodeBlock());
     }
 
     public void testGetCodeBlockThreeParams() throws Exception {
         setName(mth, "blah");
         setReturns(mth, newType("void"));
-        addParameter(mth, newJavaParameter(newType("int"), "count"));
-        addParameter(mth, newJavaParameter(newType("MyThing"), "t"));
-        addParameter(mth, newJavaParameter(newType("java.lang.Meat"), "beef"));
+        setParameters(mth, Arrays.asList( newJavaParameter(newType("int"), "count"), newJavaParameter(newType("MyThing"), "t"), newJavaParameter(newType("java.lang.Meat"), "beef") ));
         assertEquals("void blah(int count, MyThing t, java.lang.Meat beef);\n", mth.getCodeBlock());
     }
 
@@ -181,8 +166,7 @@
     public void testGetCodeBlockParamArray() throws Exception {
         setName(mth, "blah");
         setReturns(mth, newType("void"));
-        addParameter(mth, newJavaParameter(newType("int", 2), "count"));
-        addParameter(mth, newJavaParameter(newType("MyThing", 1), "t"));
+        setParameters( mth, Arrays.asList( newJavaParameter( newType("int", 2), "count"), newJavaParameter( newType("MyThing", 1), "t") ) );
         assertEquals("void blah(int[][] count, MyThing[] t);\n", mth.getCodeBlock());
     }
 
@@ -239,36 +223,29 @@
 
     public void testEqualsWithParameters() throws Exception {
         setName(mth, "thing");
-        addParameter(mth, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(mth, newJavaParameter(newType("java.lang.String", 2), "thing"));
-        addParameter(mth, newJavaParameter(newType("X", 3), ""));
+        setParameters(mth, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "thing"), newJavaParameter(newType("X", 3), "") ));
         setReturns(mth, newType("void"));
 
         M m2 = newJavaMethod();
         setName(m2, "thing");
-        addParameter(m2, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(m2, newJavaParameter(newType("java.lang.String", 2), "anotherName"));
-        addParameter(m2, newJavaParameter(newType("X", 3), "blah"));
+        setParameters(m2, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "anotherName"), newJavaParameter(newType("X", 3), "blah") ));
         setReturns(m2, newType("void"));
 
         M m3 = newJavaMethod();
         setName(m3, "thing");
-        addParameter(m3, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(m3, newJavaParameter(newType("java.lang.String", 2), "thing"));
+        setParameters(m3, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "thing") ) );
         setReturns(m3, newType("void"));
 
-        M m4 = newJavaMethod();
+        // name
+        M m4 = newJavaMethod(); 
         setName(m4, "thing");
-        addParameter(m4, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(m4, newJavaParameter(newType("java.lang.String", 2), "thing"));
-        addParameter(m4, newJavaParameter(newType("TTTTTTTT", 3), "blah")); //name
+        setParameters(m4, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "thing"), newJavaParameter(newType("TTTTTTTT", 3), "blah") ));
         setReturns(m4, newType("void"));
 
+        // dimension
         M m5 = newJavaMethod();
         setName(m5, "thing");
-        addParameter(m5, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(m5, newJavaParameter(newType("java.lang.String", 2), "thing"));
-        addParameter(m5, newJavaParameter(newType("X", 9), "blah")); // dimension
+        setParameters(m5, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "thing"), newJavaParameter(newType("X", 9), "blah") ));
         setReturns(m5, newType("void"));
 
         assertEquals(mth, m2);
@@ -280,22 +257,17 @@
 
     public void testHashCode() throws Exception {
         setName(mth, "thing");
-        addParameter(mth, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(mth, newJavaParameter(newType("java.lang.String", 2), "thing"));
-        addParameter(mth, newJavaParameter(newType("X", 3), ""));
+        setParameters(mth, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "thing"), newJavaParameter(newType("X", 3), "") ));
         setReturns(mth, newType("void"));
 
         M m2 = newJavaMethod();
         setName(m2, "thing");
-        addParameter(m2, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(m2, newJavaParameter(newType("java.lang.String", 2), "anotherName"));
-        addParameter(m2, newJavaParameter(newType("X", 3), "blah"));
+        setParameters(m2, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "anotherName"), newJavaParameter(newType("X", 3), "blah") ));
         setReturns(m2, newType("void"));
 
         M m3 = newJavaMethod();
         setName(m3, "thing");
-        addParameter(m3, newJavaParameter(newType("int", 1), "blah"));
-        addParameter(m3, newJavaParameter(newType("java.lang.String", 2), "thing"));
+        setParameters(m3, Arrays.asList( newJavaParameter(newType("int", 1), "blah"), newJavaParameter(newType("java.lang.String", 2), "thing")));
         setReturns(m3, newType("void"));
 
         M c1 = newJavaMethod();
@@ -313,8 +285,7 @@
 
     public void testSignatureMatches() throws Exception {
         setName(mth, "thing");
-        addParameter(mth, newJavaParameter(newType("int"), "x"));
-        addParameter(mth, newJavaParameter(newType("long", 2), "y"));
+        setParameters(mth, Arrays.asList( newJavaParameter(newType("int"), "x"), newJavaParameter(newType("long", 2), "y") ));
         setReturns(mth, newType("void"));
 
         Type[] correctTypes = new Type[]{
@@ -341,8 +312,7 @@
     
     public void testVarArgSignatureMatches() throws Exception {
         setName(mth, "thing");
-        addParameter(mth, newJavaParameter(newType("int"), "x"));
-        addParameter(mth, newJavaParameter(newType("long", 2), "y", true));
+        setParameters(mth, Arrays.asList( newJavaParameter(newType("int"), "x"), newJavaParameter(newType("long", 2), "y", true) ));
         setReturns(mth, newType("void"));
 
         Type[] correctTypes = new Type[]{
@@ -369,32 +339,35 @@
     }
 
     public void testParentClass() throws Exception {
+        JavaClass clazz = mock(JavaClass.class);
+        setParentClass( mth, clazz );
         assertSame(clazz, mth.getParentClass());
     }
 
     public void testCanGetParameterByName() throws Exception {
         JavaParameter paramX = newJavaParameter(newType("int"), "x");
-        addParameter(mth, paramX);
-        addParameter(mth, newJavaParameter(newType("string"), "y"));
+        setParameters(mth, Arrays.asList( paramX, newJavaParameter(newType("string"), "y") ));
         
         assertEquals(paramX, mth.getParameterByName("x"));
         assertEquals(null, mth.getParameterByName("z"));
     }
 
     public void testToString() throws Exception {
-    	JavaClass cls = newJavaClass("java.lang.Object");
+        JavaClass cls = mock(JavaClass.class);
+        when(cls.getFullyQualifiedName()).thenReturn( "java.lang.Object" );
     	M mthd = newJavaMethod(newType("boolean"),"equals");
-    	addMethod(cls, mthd);
+    	setParentClass(mthd, cls);
     	setModifiers(mthd, Arrays.asList(new String[]{"public"}));
-    	addParameter(mthd, newJavaParameter(newType("java.lang.Object"), null));
+    	setParameters(mthd, Collections.singletonList( newJavaParameter(newType("java.lang.Object"), null) ));
     	assertEquals("public boolean java.lang.Object.equals(java.lang.Object)", mthd.toString());
     }
     
     public void testConstructorToString() throws Exception {
-        JavaClass cls = newJavaClass("a.b.Executor");
+        JavaClass cls = mock(JavaClass.class);
+        when(cls.getFullyQualifiedName()).thenReturn( "a.b.Executor" );
         M constructor = newJavaMethod(null,"Executor");
         setConstructor( constructor, true );
-        addMethod(cls, constructor);
+        setParentClass( constructor, cls );
         assertEquals("a.b.Executor()", constructor.toString());
     }
 
@@ -405,11 +378,12 @@
     }
 
     public void testConstructorParameterTypes() throws Exception {
-        JavaClass cls = newJavaClass("a.b.Executor");
+        JavaClass cls = mock(JavaClass.class);
+        when(cls.getFullyQualifiedName()).thenReturn( "a.b.Executor" );
         M constructor = newJavaMethod(null,"Executor");
-        addParameter( constructor,  newJavaParameter( newType("a.b.C"), "param" ) );
+        setParameters( constructor,  Collections.singletonList( newJavaParameter( newType("a.b.C"), "param" )  ));
         setConstructor( constructor, true );
-        addMethod(cls, constructor);
+        setParentClass( constructor, cls );
         assertEquals("a.b.C", constructor.getParameterTypes().get(0).toString());
     }
 


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to