- Revision
- 1092
- Author
- rfscholte
- Date
- 2011-02-27 14:31:32 -0600 (Sun, 27 Feb 2011)
Log Message
Mocking JavaSourceTest
Modified Paths
- trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaSourceTest.java
- trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java
Diff
Modified: trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaSourceTest.java (1091 => 1092)
--- trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaSourceTest.java 2011-02-27 20:05:06 UTC (rev 1091) +++ trunk/qdox/src/test/com/thoughtworks/qdox/model/DefaultJavaSourceTest.java 2011-02-27 20:31:32 UTC (rev 1092) @@ -1,6 +1,8 @@ package com.thoughtworks.qdox.model; +import java.util.List; + public class DefaultJavaSourceTest extends JavaSourceTest<DefaultJavaSource> { @@ -24,12 +26,6 @@ ((DefaultJavaClass) clazz).setName( name ); } - public void addClass( JavaSource source, JavaClass clazz ) - { - ((DefaultJavaClass) clazz).setSource( source ); - ((DefaultJavaSource) source).addClass( clazz ); - } - public JavaPackage newJavaPackage( String name ) { return new DefaultJavaPackage(name); @@ -40,8 +36,19 @@ source.setPackage( pckg ); } - public void addImport( JavaSource source, String imp ) + @Override + public void setClasses( DefaultJavaSource source, List<JavaClass> classes ) { - ((DefaultJavaSource) source).addImport( imp ); + for(JavaClass cls: classes) { + source.addClass( cls ); + } } + + @Override + public void setImports( DefaultJavaSource source, List<String> imports ) + { + for(String imprt : imports) { + source.addImport( imprt ); + } + } }
Modified: trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java (1091 => 1092)
--- trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java 2011-02-27 20:05:06 UTC (rev 1091) +++ trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaSourceTest.java 2011-02-27 20:31:32 UTC (rev 1092) @@ -1,9 +1,16 @@ package com.thoughtworks.qdox.model; -import com.thoughtworks.qdox.library.SortedClassLibraryBuilder; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import junit.framework.TestCase; +import com.thoughtworks.qdox.library.SortedClassLibraryBuilder; + public abstract class JavaSourceTest<S extends JavaSource> extends TestCase { private S source; @@ -17,25 +24,21 @@ //setters + public abstract void setClasses(S source, List<JavaClass> classes); + public abstract void setImports(S source, List<String> imports); public abstract void setPackage(S source, JavaPackage pckg); - public abstract JavaClass newJavaClass(); public abstract JavaPackage newJavaPackage(String name); - public abstract void setName(JavaClass clazz, String name); - - public abstract void addClass(JavaSource source, JavaClass clazz); - public abstract void addImport(JavaSource source, String imp); - protected void setUp() throws Exception { super.setUp(); source = newJavaSource(new SortedClassLibraryBuilder().getClassLibrary()); } public void testToStringOneClass() throws Exception { - JavaClass cls = newJavaClass(); - setName(cls, "MyClass"); - addClass(source, cls); + JavaClass cls = mock(JavaClass.class); + when(cls.getName()).thenReturn( "MyClass" ); + setClasses( source, Collections.singletonList( cls ) ); String expected = "" + "class MyClass {\n" + "\n" @@ -44,15 +47,18 @@ } public void testToStringMultipleClass() throws Exception { - JavaClass cls1 = newJavaClass(); - setName(cls1, "MyClass1"); - addClass(source, cls1); - JavaClass cls2 = newJavaClass(); - setName(cls2, "MyClass2"); - addClass(source, cls2); - JavaClass cls3 = newJavaClass(); - setName(cls3, "MyClass3"); - addClass(source, cls3); + List<JavaClass> classes = new ArrayList<JavaClass>(); + JavaClass cls1 = mock(JavaClass.class); + when(cls1.getName()).thenReturn( "MyClass1" ); + classes.add( cls1 ); + JavaClass cls2 = mock(JavaClass.class); + when(cls2.getName()).thenReturn( "MyClass2" ); + classes.add( cls2 ); + JavaClass cls3 = mock(JavaClass.class); + when(cls3.getName()).thenReturn( "MyClass3" ); + classes.add( cls3 ); + + setClasses( source, classes ); String expected = "" + "class MyClass1 {\n" @@ -70,9 +76,10 @@ } public void testToStringPackage() throws Exception { - JavaClass cls = newJavaClass(); - setName(cls, "MyClass"); - addClass(source, cls); + JavaClass cls = mock(JavaClass.class); + when(cls.getName()).thenReturn("MyClass"); + + setClasses(source, Collections.singletonList( cls )); setPackage(source, newJavaPackage("com.thing")); String expected = "" + "package com.thing;\n" @@ -84,10 +91,10 @@ } public void testToStringImport() throws Exception { - JavaClass cls = newJavaClass(); - setName(cls, "MyClass"); - addClass(source, cls); - addImport(source, "java.util.*"); + JavaClass cls = mock(JavaClass.class); + when(cls.getName()).thenReturn("MyClass"); + setClasses(source, Collections.singletonList( cls )); + setImports(source, Collections.singletonList("java.util.*")); String expected = "" + "import java.util.*;\n" + "\n" @@ -98,12 +105,14 @@ } public void testToStringMultipleImports() throws Exception { - JavaClass cls = newJavaClass(); - setName(cls, "MyClass"); - addClass(source, cls); - addImport(source, "java.util.*"); - addImport(source, "com.blah.Thing"); - addImport(source, "xxx"); + JavaClass cls = mock(JavaClass.class); + when(cls.getName()).thenReturn("MyClass"); + setClasses(source, Collections.singletonList( cls )); + List<String> imports = new ArrayList<String>(); + imports.add("java.util.*"); + imports.add("com.blah.Thing"); + imports.add("xxx"); + setImports( source, imports ); String expected = "" + "import java.util.*;\n" + "import com.blah.Thing;\n" @@ -116,10 +125,10 @@ } public void testToStringImportAndPackage() throws Exception { - JavaClass cls = newJavaClass(); - setName(cls, "MyClass"); - addClass(source, cls); - addImport(source, "java.util.*"); + JavaClass cls = mock(JavaClass.class); + when(cls.getName()).thenReturn("MyClass"); + setClasses(source, Collections.singletonList( cls )); + setImports(source, Collections.singletonList( "java.util.*" )); setPackage(source, newJavaPackage("com.moo")); String expected = "" + "package com.moo;\n" @@ -139,8 +148,10 @@ } public void testResolveJavaPrimitive() throws Exception { - addImport(source, "bogus.int"); - addImport(source, "bogus.double"); + List<String> imports = new ArrayList<String>(); + imports.add("bogus.int"); + imports.add("bogus.double"); + setImports( source, imports ); String[] primitives = new String[]{ "boolean", "byte", "char", "double", "float", "int", "long", "short", "void" @@ -160,15 +171,17 @@ } public void testResolveFullyQualifiedImport() throws Exception { - addImport(source, "foo.Bar"); + setImports(source, Collections.singletonList("foo.Bar")); source.getJavaClassLibrary().getJavaClass("foo.Bar"); assertEquals("foo.Bar", source.resolveType("Bar")); } public void testResolveChooseFirstMatchingImport() throws Exception { - addImport(source, "bogus.package.MyType"); - addImport(source, "com.thoughtworks.qdox.model.Type"); - addImport(source, "another.package.Type"); + List<String> imports = new ArrayList<String>(); + imports.add("bogus.package.MyType"); + imports.add("com.thoughtworks.qdox.model.Type"); + imports.add("another.package.Type"); + setImports( source, imports ); source.getJavaClassLibrary().getJavaClass("bogus.package.MyType"); source.getJavaClassLibrary().getJavaClass("com.thoughtworks.qdox.model.Type"); source.getJavaClassLibrary().getJavaClass("another.package.Type"); @@ -189,8 +202,10 @@ } public void testResolveFullyQualifiedTrumpsWildCard() throws Exception { - addImport(source, "bar.Bar"); - addImport(source, "foo.Bar"); + List<String> imports = new ArrayList<String>(); + imports.add("bar.Bar"); + imports.add("foo.Bar"); + setImports( source, imports ); source.getJavaClassLibrary().getJavaClass("foo.*"); source.getJavaClassLibrary().getJavaClass("bar.Bar"); assertEquals("bar.Bar", source.resolveType("Bar")); @@ -198,7 +213,7 @@ public void testResolveWildcard() throws Exception { source.getJavaClassLibrary().getJavaClass("foo.Bar"); - addImport(source, "foo.*"); + setImports(source, Collections.singletonList("foo.*")); assertEquals("foo.Bar", source.resolveType("Bar")); } @@ -208,8 +223,10 @@ } public void testResolveSamePackageTrumpsWildcard() throws Exception { - addImport(source, "com.thoughtworks.qdox.model.Type"); - addImport(source, "foo.*"); + List<String> imports = new ArrayList<String>(); + imports.add("com.thoughtworks.qdox.model.Type"); + imports.add("foo.*"); + setImports( source, imports ); source.getJavaClassLibrary().getJavaClass("com.thoughtworks.qdox.model.Type"); source.getJavaClassLibrary().getJavaClass("foo.Type"); assertEquals("com.thoughtworks.qdox.model.Type", source.resolveType("Type")); @@ -223,7 +240,7 @@ public void testResolvePartiallySpecifiedInnerClass() throws Exception { setPackage(source, newJavaPackage("foo")); - addImport(source, "java.util.*"); + setImports(source, Collections.singletonList("java.util.*")); source.getJavaClassLibrary().getJavaClass("foo.Bar$Fnord"); assertEquals("foo.Bar$Fnord", source.resolveType("Bar.Fnord")); assertEquals("java.util.Map$Entry", source.resolveType("Map.Entry"));
To unsubscribe from this list please visit:
