Title: [1118] trunk/qdox: DirectoryScannerTest, JavaDocBuilderTest and JavaProjectBuilderTest migrated to mockito
Revision
1118
Author
rfscholte
Date
2011-03-15 15:42:31 -0500 (Tue, 15 Mar 2011)

Log Message

DirectoryScannerTest, JavaDocBuilderTest and JavaProjectBuilderTest migrated to mockito
Removing jmock dependency (bye,bye. You've done a great job!)

Modified Paths

Diff

Modified: trunk/qdox/pom.xml (1117 => 1118)

--- trunk/qdox/pom.xml	2011-03-14 22:16:57 UTC (rev 1117)
+++ trunk/qdox/pom.xml	2011-03-15 20:42:31 UTC (rev 1118)
@@ -463,18 +463,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>jmock</groupId>
-      <artifactId>jmock</artifactId>
-      <version>1.0.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
       <version>1.8.5</version>
       <scope>test</scope>
     </dependency>
-
   </dependencies>
 
   <distributionManagement>

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java (1117 => 1118)

--- trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2011-03-14 22:16:57 UTC (rev 1117)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/JavaDocBuilderTest.java	2011-03-15 20:42:31 UTC (rev 1118)
@@ -1,6 +1,7 @@
-
 package com.thoughtworks.qdox;
 
+import static org.mockito.Mockito.*;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -13,8 +14,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import junit.framework.TestCase;
 
 import com.thoughtworks.qdox.model.Annotation;
 import com.thoughtworks.qdox.model.BeanProperty;
@@ -34,7 +34,7 @@
  * @author <a href="" Walnes</a>
  * @author Aslak Helles&oslash;y
  */
-public class JavaDocBuilderTest extends MockObjectTestCase {
+public class JavaDocBuilderTest extends TestCase {
 
     private JavaDocBuilder builder;
 
@@ -993,16 +993,14 @@
     public void testContinuesProcessingAfterBadFileIfCustomHandlerPermits() throws Exception {
         createFile("target/test-source/com/blah/Bad.java", "com.blah", "@%! BAD {}}}}");
 
-        Mock mockErrorHandler = mock(JavaDocBuilder.ErrorHandler.class);
-        // Expectation
-        mockErrorHandler.expects(once())
-                .method("handle")
-                .with(isA(ParseException.class));
-
-        builder.setErrorHandler((JavaDocBuilder.ErrorHandler) mockErrorHandler.proxy());
+        JavaDocBuilder.ErrorHandler mockErrorHandler = mock(JavaDocBuilder.ErrorHandler.class);
+        
+        builder.setErrorHandler(mockErrorHandler);
         builder.addSourceTree(new File("target/test-source"));
 
         assertNotNull(builder.getClassByName("com.blah.Thing"));
+        
+        verify(mockErrorHandler).handle( any(ParseException.class) );
     }
 
     public void testBinaryClassFieldModifiers() {

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/JavaProjectBuilderTest.java (1117 => 1118)

--- trunk/qdox/src/test/com/thoughtworks/qdox/JavaProjectBuilderTest.java	2011-03-14 22:16:57 UTC (rev 1117)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/JavaProjectBuilderTest.java	2011-03-15 20:42:31 UTC (rev 1118)
@@ -1,5 +1,7 @@
 package com.thoughtworks.qdox;
 
+import static org.mockito.Mockito.*;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -13,8 +15,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import junit.framework.TestCase;
 
 import com.thoughtworks.qdox.library.OrderedClassLibraryBuilder;
 import com.thoughtworks.qdox.model.Annotation;
@@ -30,8 +31,7 @@
 import com.thoughtworks.qdox.parser.ParseException;
 import com.thoughtworks.qdox.testdata.PropertyClass;
 
-public class JavaProjectBuilderTest
-    extends MockObjectTestCase
+public class JavaProjectBuilderTest extends TestCase
 {
 
     private JavaProjectBuilder builder;
@@ -1019,16 +1019,14 @@
     public void QDOX2_2FIX___testContinuesProcessingAfterBadFileIfCustomHandlerPermits() throws Exception {
         createFile("target/test-source/com/blah/Bad.java", "com.blah", "@%! BAD {}}}}");
 
-        Mock mockErrorHandler = mock(JavaDocBuilder.ErrorHandler.class);
-        // Expectation
-        mockErrorHandler.expects(once())
-                .method("handle")
-                .with(isA(ParseException.class));
+        JavaDocBuilder.ErrorHandler mockErrorHandler = mock(JavaDocBuilder.ErrorHandler.class);
 
-//        builder.setErrorHandler((JavaDocBuilder.ErrorHandler) mockErrorHandler.proxy());
+//        builder.setErrorHandler( mockErrorHandler );
         builder.addSourceTree(new File("target/test-source"));
 
         assertNotNull(builder.getClassByName("com.blah.Thing"));
+        
+        verify( mockErrorHandler ).handle( any( ParseException.class ) );
     }
 
     public void testBinaryClassFieldModifiers() {

Modified: trunk/qdox/src/test/com/thoughtworks/qdox/directorywalker/DirectoryScannerTest.java (1117 => 1118)

--- trunk/qdox/src/test/com/thoughtworks/qdox/directorywalker/DirectoryScannerTest.java	2011-03-14 22:16:57 UTC (rev 1117)
+++ trunk/qdox/src/test/com/thoughtworks/qdox/directorywalker/DirectoryScannerTest.java	2011-03-15 20:42:31 UTC (rev 1118)
@@ -1,137 +1,197 @@
 package com.thoughtworks.qdox.directorywalker;
 
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
 import java.io.File;
 import java.util.List;
 
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import org.junit.Test;
 
-public class DirectoryScannerTest extends MockObjectTestCase {
+public class DirectoryScannerTest
+{
 
-    class MockFile extends File {
-        boolean isDirectory;
-        File[] children;
+    private File newMockFile( String name )
+    {
+        return newMockFile( name, false );
+    }
 
-        public MockFile(String pathname) {
-            super(pathname);
-            this.isDirectory = false;
-        }
+    private File newMockFile( String name, boolean isDirectory )
+    {
+        File result = mock( File.class );
+        when( result.getName() ).thenReturn( name );
+        when( result.isDirectory() ).thenReturn( isDirectory );
+        return result;
+    }
 
-        public MockFile(String pathname, boolean isDirectory) {
-            super(pathname);
-            this.isDirectory = isDirectory;
-        }
+    @Test
+    public void testSingleDirectory()
+    {
+        File rootDir = newMockFile( "root", true );
+        {
+            File blahTxt = newMockFile( "blah.txt" );
+            File fooTxt = newMockFile( "foo.txt" );
+            File pigJava = newMockFile( "pig.java" );
 
-        public boolean isDirectory() {
-            return this.isDirectory;
+            when( rootDir.listFiles() ).thenReturn( new File[] { blahTxt, fooTxt, pigJava } );
         }
 
-        public File[] listFiles() {
-            return children;
-        }
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
+        List<File> files = scanner.scan();
+        assertEquals( 3, files.size() );
+        assertEquals( "blah.txt", files.get( 0 ).getName() );
+        assertEquals( "foo.txt", files.get( 1 ).getName() );
+        assertEquals( "pig.java", files.get( 2 ).getName() );
     }
 
-    public DirectoryScannerTest(String s) {
-        super(s);
-    }
+    @Test
+    public void testDirectoryWithSubdir()
+    {
+        File rootDir = newMockFile( "root", true );
+        {
+            File subDir = newMockFile( "subdir", true );
+            {
+                File child1Txt = newMockFile( "child1.txt" );
+                File child2Txt = newMockFile( "child2.txt" );
 
-    public void testSingleDirectory() {
-        MockFile rootDir = new MockFile("root", true);
-        rootDir.children = new File[]{new MockFile("blah.txt"), new MockFile("foo.txt"), new MockFile("pig.java")};
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
-        List<File> files = scanner.scan();
-        assertEquals(3, files.size());
-        assertEquals("blah.txt", files.get(0).getName());
-        assertEquals("foo.txt", files.get(1).getName());
-        assertEquals("pig.java", files.get(2).getName());
-    }
+                when( subDir.listFiles() ).thenReturn( new File[] { child1Txt, child2Txt } );
+            }
+            File fooTxt = newMockFile( "foo.txt" );
+            File pigJava = newMockFile( "pig.java" );
 
-    public void testDirectoryWithSubdir() {
-        MockFile rootDir = new MockFile("root", true);
-        MockFile subDir = new MockFile("subdir", true);
-        subDir.children = new File[]{new MockFile("child1.txt"), new MockFile("child2.txt")};
-        rootDir.children = new File[]{subDir, new MockFile("foo.txt"), new MockFile("pig.java")};
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
+            when( rootDir.listFiles() ).thenReturn( new File[] { subDir, fooTxt, pigJava } );
+        }
+
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
         List<File> files = scanner.scan();
-        assertEquals(4, files.size());
-        assertEquals("child1.txt", files.get(0).getName());
-        assertEquals("child2.txt", files.get(1).getName());
-        assertEquals("foo.txt", files.get(2).getName());
-        assertEquals("pig.java", files.get(3).getName());
+        assertEquals( 4, files.size() );
+        assertEquals( "child1.txt", files.get( 0 ).getName() );
+        assertEquals( "child2.txt", files.get( 1 ).getName() );
+        assertEquals( "foo.txt", files.get( 2 ).getName() );
+        assertEquals( "pig.java", files.get( 3 ).getName() );
     }
 
-    public void testDirectoryWithSubdirWithSubdir() {
-        MockFile rootDir = new MockFile("root", true);
-        MockFile subDir1 = new MockFile("subdir", true);
-        MockFile subDir2 = new MockFile("subdir2", true);
-        subDir2.children = new File[]{new MockFile("grandChild1.txt")};
-        subDir1.children = new File[]{subDir2, new MockFile("child1.txt"), new MockFile("child2.txt")};
-        rootDir.children = new File[]{subDir1, new MockFile("foo.txt"), new MockFile("pig.java")};
+    @Test
+    public void testDirectoryWithSubdirWithSubdir()
+    {
+        File rootDir = newMockFile( "root", true );
+        {
+            File subDir1 = newMockFile( "subdir", true );
+            {
+                File subDir2 = newMockFile( "subdir2", true );
+                {
+                    File grandChild1Txt = newMockFile( "grandChild1.txt" );
 
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
+                    when( subDir2.listFiles() ).thenReturn( new File[] { grandChild1Txt } );
+                }
+                File child1Txt = newMockFile( "child1.txt" );
+                File child2Txt = newMockFile( "child2.txt" );
+
+                when( subDir1.listFiles() ).thenReturn( new File[] { subDir2, child1Txt, child2Txt } );
+
+            }
+            File fooTxt = newMockFile( "foo.txt" );
+            File pigJava = newMockFile( "pig.java" );
+
+            when( rootDir.listFiles() ).thenReturn( new File[] { subDir1, fooTxt, pigJava } );
+        }
+
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
         List<File> files = scanner.scan();
-        assertEquals(5, files.size());
-        assertEquals("grandChild1.txt", files.get(0).getName());
-        assertEquals("child1.txt", files.get(1).getName());
-        assertEquals("child2.txt", files.get(2).getName());
-        assertEquals("foo.txt", files.get(3).getName());
-        assertEquals("pig.java", files.get(4).getName());
+        assertEquals( 5, files.size() );
+        assertEquals( "grandChild1.txt", files.get( 0 ).getName() );
+        assertEquals( "child1.txt", files.get( 1 ).getName() );
+        assertEquals( "child2.txt", files.get( 2 ).getName() );
+        assertEquals( "foo.txt", files.get( 3 ).getName() );
+        assertEquals( "pig.java", files.get( 4 ).getName() );
     }
 
-    public void testSuffixFilter() {
-        MockFile rootDir = new MockFile("root", true);
-        rootDir.children = new File[]{new MockFile("blah.txt"), new MockFile("foo.java"), new MockFile("pig.java")};
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
-        scanner.addFilter(new SuffixFilter(".java"));
+    @Test
+    public void testSuffixFilter()
+    {
+        File rootDir = newMockFile( "root", true );
+        {
+            File blahTxt = newMockFile( "blah.txt" );
+            File fooJava = newMockFile( "foo.java" );
+            File pigJava = newMockFile( "pig.java" );
+
+            when( rootDir.listFiles() ).thenReturn( new File[] { blahTxt, fooJava, pigJava } );
+        }
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
+        scanner.addFilter( new SuffixFilter( ".java" ) );
         List<File> files = scanner.scan();
-        assertEquals(2, files.size());
-        assertEquals("foo.java", files.get(0).getName());
-        assertEquals("pig.java", files.get(1).getName());
+        assertEquals( 2, files.size() );
+        assertEquals( "foo.java", files.get( 0 ).getName() );
+        assertEquals( "pig.java", files.get( 1 ).getName() );
     }
 
-    public void testFilterCallback() {
-        MockFile rootDir = new MockFile("root", true);
-        rootDir.children = new File[]{new MockFile("blah.txt"), new MockFile("foo.java"), new MockFile("pig.java")};
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
-        Filter mockFilter = new Filter() {
-            public boolean filter(File file) {
-                return file.getName().equals("foo.java");
+    @Test
+    public void testFilterCallback()
+    {
+        File rootDir = newMockFile( "root", true );
+        {
+            File blahTxt = newMockFile( "blah.txt" );
+            File fooJava = newMockFile( "foo.java" );
+            File pigJava = newMockFile( "pig.java" );
+
+            when( rootDir.listFiles() ).thenReturn( new File[] { blahTxt, fooJava, pigJava } );
+        }
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
+        Filter mockFilter = new Filter()
+        {
+            public boolean filter( File file )
+            {
+                return file.getName().equals( "foo.java" );
             }
         };
-        scanner.addFilter(mockFilter);
+        scanner.addFilter( mockFilter );
         List<File> files = scanner.scan();
-        assertEquals(1, files.size());
-        assertEquals("foo.java", files.get(0).getName());
+        assertEquals( 1, files.size() );
+        assertEquals( "foo.java", files.get( 0 ).getName() );
     }
 
-    public void testMultipleFilters() {
-        MockFile rootDir = new MockFile("root", true);
-        rootDir.children = new File[]{new MockFile("blah.txt"), new MockFile("foo.java"),
-                                      new MockFile("pig.java"), new MockFile("foo.txt")};
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
-        scanner.addFilter(new SuffixFilter(".java"));
-        scanner.addFilter(new Filter() {
-            public boolean filter(File file) {
-                return file.getName().startsWith("foo");
+    @Test
+    public void testMultipleFilters()
+    {
+        File rootDir = newMockFile( "root", true );
+        {
+            File blahTxt = newMockFile( "blah.txt" );
+            File fooJava = newMockFile( "foo.java" );
+            File pigJava = newMockFile( "pig.java" );
+            File fooTxt = newMockFile( "foo.txt" );
+
+            when( rootDir.listFiles() ).thenReturn( new File[] { blahTxt, fooJava, pigJava, fooTxt } );
+        }
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
+        scanner.addFilter( new SuffixFilter( ".java" ) );
+        scanner.addFilter( new Filter()
+        {
+            public boolean filter( File file )
+            {
+                return file.getName().startsWith( "foo" );
             }
-        });
+        } );
         List<File> files = scanner.scan();
-        assertEquals(1, files.size());
-        assertEquals("foo.java", files.get(0).getName());
+        assertEquals( 1, files.size() );
+        assertEquals( "foo.java", files.get( 0 ).getName() );
     }
 
-    public void testFileVisitor() {
-        MockFile rootDir = new MockFile("root", true);
-        rootDir.children = new File[]{new MockFile("blah.txt"), new MockFile("foo.txt"), new MockFile("pig.java")};
-        DirectoryScanner scanner = new DirectoryScanner(rootDir);
-        Mock mockFileVisitor = new Mock(FileVisitor.class);
-        mockFileVisitor.expects(once()).method("visitFile").with(same(rootDir.children[0]));
-        mockFileVisitor.expects(once()).method("visitFile").with(same(rootDir.children[1]));
-        mockFileVisitor.expects(once()).method("visitFile").with(same(rootDir.children[2]));
+    @Test
+    public void testFileVisitor()
+    {
+        File rootDir = newMockFile( "root", true );
 
-        scanner.scan((FileVisitor) mockFileVisitor.proxy());
+        File blahTxt = newMockFile( "blah.txt" );
+        File fooJava = newMockFile( "foo.java" );
+        File pigJava = newMockFile( "pig.java" );
 
-        mockFileVisitor.verify();
+        when( rootDir.listFiles() ).thenReturn( new File[] { blahTxt, fooJava, pigJava } );
 
+        DirectoryScanner scanner = new DirectoryScanner( rootDir );
+        FileVisitor visitor = mock( FileVisitor.class );
+        scanner.scan( visitor );
+
+        org.mockito.Mockito.verify( visitor ).visitFile( blahTxt );
+        org.mockito.Mockito.verify( visitor ).visitFile( fooJava );
+        org.mockito.Mockito.verify( visitor ).visitFile( pigJava );
     }
 }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to