Title: [waffle-scm] [333] trunk/core/src/test/java/org/codehaus/waffle/i18n: Migrated controller and i18n unit tests to jMock 2.

Diff

Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java (332 => 333)

--- trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java	2007-11-03 11:01:55 UTC (rev 332)
+++ trunk/core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java	2007-11-03 11:46:15 UTC (rev 333)
@@ -1,5 +1,11 @@
 package org.codehaus.waffle.controller;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 import org.codehaus.waffle.Constants;
 import org.codehaus.waffle.WaffleException;
 import org.codehaus.waffle.action.MethodDefinition;
@@ -7,102 +13,103 @@
 import org.codehaus.waffle.context.RequestLevelContainer;
 import org.codehaus.waffle.context.pico.PicoContextContainer;
 import org.codehaus.waffle.testmodel.FakeController;
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JMock;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.picocontainer.MutablePicoContainer;
 import org.picocontainer.defaults.DefaultPicoContainer;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+/**
+ * 
+ * @author Michael Ward
+ * @author Mauro Talevi
+ */
[EMAIL PROTECTED](JMock.class)
+public class ContextControllerDefinitionFactoryTest {
+    private Mockery mockery = new Mockery();
 
-public class ContextControllerDefinitionFactoryTest extends MockObjectTestCase {
-
-    public void testCanGetControllerDefinition() throws NoSuchMethodException {
-        MutablePicoContainer pico = new DefaultPicoContainer();
+    @Test
+    public void canGetControllerDefinition() throws NoSuchMethodException {
+        final MutablePicoContainer pico = new DefaultPicoContainer();
         pico.registerComponentImplementation("theController", FakeController.class);
         RequestLevelContainer.set(new PicoContextContainer(pico));
 
         // Mock HttpServletRequest
-        Mock mockRequest = mock(HttpServletRequest.class);
-        mockRequest.expects(once())
-                .method("getPathInfo")
-                .will(returnValue("/theController.htm"));
-        mockRequest.expects(once()).method("setAttribute")
-                .with(eq(Constants.CONTROLLER_KEY), isA(FakeController.class));
-        HttpServletRequest httpRequest = (HttpServletRequest) mockRequest.proxy();
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
+        mockery.checking(new Expectations() {
+            {
+                one(request).getPathInfo();
+                will(returnValue("/theController.htm"));
+                one(request).setAttribute(Constants.CONTROLLER_KEY,
+                        (FakeController) pico.getComponentInstanceOfType(FakeController.class));
+            }
+        });
 
         // Mock HttpServletResponse
-        Mock mockResponse = mock(HttpServletResponse.class);
-        HttpServletResponse response = (HttpServletResponse) mockResponse.proxy();
+        final HttpServletResponse response = mockery.mock(HttpServletResponse.class);
 
-        MethodDefinition methodDefinition = new MethodDefinition(null);
+        final MethodDefinition methodDefinition = new MethodDefinition(null);
 
         // Mock MethodDefinitionFinder
-        Mock mockMethodDefinitionFinder = mock(MethodDefinitionFinder.class);
-        mockMethodDefinitionFinder.expects(once())
-                .method("find")
-                .with(isA(FakeController.class), same(httpRequest), same(response))
-                .will(returnValue(methodDefinition));
-        MethodDefinitionFinder methodDefinitionFinder = (MethodDefinitionFinder) mockMethodDefinitionFinder.proxy();
+        final MethodDefinitionFinder finder = mockery.mock(MethodDefinitionFinder.class);
+        mockery.checking(new Expectations() {
+            {
+                one(finder).find(with(an(FakeController.class)), with(same(request)), with(same(response)));
+                will(returnValue(methodDefinition));
+            }
+        });
 
-        ControllerDefinitionFactory controllerDefinitionFactory
-                = new ContextControllerDefinitionFactory(methodDefinitionFinder, new ContextPathControllerNameResolver());
-        ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(httpRequest, response);
+        ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder,
+                new ContextPathControllerNameResolver());
+        ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request,
+                response);
 
         assertNotNull(controllerDefinition.getController());
         assertSame(methodDefinition, controllerDefinition.getMethodDefinition());
     }
 
-    public void testRequestingControllerDefinitionThatiIsNotRegisteredThrowsException() throws NoSuchMethodException {
+    @Test(expected = WaffleException.class)
+    public void cannotRequestControllerDefinitionThatiIsNotRegistered() {
         MutablePicoContainer pico = new DefaultPicoContainer();
         RequestLevelContainer.set(new PicoContextContainer(pico));
 
         // Mock HttpServletRequest
-        Mock mockRequest = mock(HttpServletRequest.class);
-        mockRequest.expects(once())
-                .method("getPathInfo")
-                .will(returnValue("/theController.htm"));
-        mockRequest.expects(once())
-                .method("getRequestURI")
-                .will(returnValue("/theController.htm"));
-        HttpServletRequest httpRequest = (HttpServletRequest) mockRequest.proxy();
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
+        mockery.checking(new Expectations() {
+            {
+                one(request).getPathInfo();
+                will(returnValue("/theController.htm"));
+                one(request).getRequestURI();
+                will(returnValue("/theController.htm"));
+            }
+        });
 
         // Mock HttpServletResponse
-        Mock mockResponse = mock(HttpServletResponse.class);
-        HttpServletResponse response = (HttpServletResponse) mockResponse.proxy();
+        final HttpServletResponse response = mockery.mock(HttpServletResponse.class);
 
         // Mock MethodDefinitionFinder
-        Mock mockMethodDefinitionFinder = mock(MethodDefinitionFinder.class);
-        MethodDefinitionFinder methodDefinitionFinder = (MethodDefinitionFinder) mockMethodDefinitionFinder.proxy();
+        final MethodDefinitionFinder finder = mockery.mock(MethodDefinitionFinder.class);
 
-        ControllerDefinitionFactory controllerDefinitionFactory
-                = new ContextControllerDefinitionFactory(methodDefinitionFinder, new ContextPathControllerNameResolver());
+        ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder,
+                new ContextPathControllerNameResolver());
 
-        try {
-            controllerDefinitionFactory.getControllerDefinition(httpRequest, response);
-            fail("WaffleException expected");
-        } catch (WaffleException e) {
-            //expected
-        }        
+        controllerDefinitionFactory.getControllerDefinition(request, response);
     }
 
-    public void testMissingRequestLevelContainerThrowsException() throws NoSuchMethodException {
+    @Test(expected = WaffleException.class)
+    public void cannotGetControllerDefinitionWithMissingRequestLevelContainer() {
+
         RequestLevelContainer.set(null);
+
         // Mock HttpServletRequest
-        Mock mockHttpServletRequest = mock(HttpServletRequest.class);
-        HttpServletRequest httpRequest = (HttpServletRequest) mockHttpServletRequest.proxy();
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
 
-        // Mock HttpServletResponse
-        Mock mockResponse = mock(HttpServletResponse.class);
+        ContextControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(null,
+                null);
 
-        ContextControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(null, null);
-
-        try {
-            controllerDefinitionFactory.findController("foobar", httpRequest);
-            fail("WaffleException should have been thrown when no request level container exists");
-        } catch (WaffleException expected) {
-            // expected
-        }
+        controllerDefinitionFactory.findController("foobar", request);
     }
 
 }

Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java (332 => 333)

--- trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java	2007-11-03 11:01:55 UTC (rev 332)
+++ trunk/core/src/test/java/org/codehaus/waffle/controller/ContextPathControllerNameResolverTest.java	2007-11-03 11:46:15 UTC (rev 333)
@@ -1,48 +1,69 @@
 package org.codehaus.waffle.controller;
 
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
-import org.codehaus.waffle.controller.ContextPathControllerNameResolver;
-import org.codehaus.waffle.controller.ControllerNameResolver;
+import static org.junit.Assert.assertEquals;
 
 import javax.servlet.http.HttpServletRequest;
 
-public class ContextPathControllerNameResolverTest extends MockObjectTestCase {
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JMock;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
-    public void testFindControllerName() {
-        Mock mockRequest = mock(HttpServletRequest.class);
-        mockRequest.expects(once())
-                .method("getPathInfo")
-                .will(returnValue("/foo/bar.htm"));
-        HttpServletRequest request = (HttpServletRequest) mockRequest.proxy();
+/**
+ * 
+ * @author Michael Ward
+ * @author Mauro Talevi
+ */
[EMAIL PROTECTED](JMock.class)
+public class ContextPathControllerNameResolverTest {
 
+    private Mockery mockery = new Mockery();
+
+    @Test
+    public void canFindControllerName() {
+        // Mock HttpServletRequest
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
+        mockery.checking(new Expectations() {
+            {
+                one(request).getPathInfo();
+                will(returnValue("/foo/bar.htm"));
+            }
+        });
+
         ControllerNameResolver controllerNameResolver = new ContextPathControllerNameResolver();
         assertEquals("foo/bar", controllerNameResolver.findControllerName(request));
     }
 
-    public void testFindControllerNameWithoutExtension() {
-        Mock mockRequest = mock(HttpServletRequest.class);
-        mockRequest.expects(once())
-                .method("getPathInfo")
-                .will(returnValue("/foobar"));
-        HttpServletRequest request = (HttpServletRequest) mockRequest.proxy();
+    @Test
+    public void canFindControllerNameWithoutExtension() {
+        // Mock HttpServletRequest
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
+        mockery.checking(new Expectations() {
+            {
+                one(request).getPathInfo();
+                will(returnValue("/foobar"));
+            }
+        });
 
         ControllerNameResolver controllerNameResolver = new ContextPathControllerNameResolver();
         assertEquals("foobar", controllerNameResolver.findControllerName(request));
     }
 
-    public void testFindControllerNameWhenPathInfoIsNull() {
-        Mock mockRequest = mock(HttpServletRequest.class);
-        mockRequest.expects(once())
-                .method("getPathInfo")
-                .will(returnValue(null));
-        mockRequest.expects(once())
-                .method("getRequestURI")
-                .will(returnValue("/waffle/foobar.htm"));
-        mockRequest.expects(once())
-                .method("getContextPath")
-                .will(returnValue("/waffle"));
-        HttpServletRequest request = (HttpServletRequest) mockRequest.proxy();
+    @Test
+    public void canFindControllerNameWhenPathInfoIsNull() {
+        // Mock HttpServletRequest
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
+        mockery.checking(new Expectations() {
+            {
+                one(request).getPathInfo();
+                will(returnValue(null));
+                one(request).getRequestURI();
+                will(returnValue("/waffle/foobar.htm"));
+                one(request).getContextPath();
+                will(returnValue("/waffle"));
+            }
+        });
 
         ControllerNameResolver controllerNameResolver = new ContextPathControllerNameResolver();
         assertEquals("foobar", controllerNameResolver.findControllerName(request));

Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java (332 => 333)

--- trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java	2007-11-03 11:01:55 UTC (rev 332)
+++ trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java	2007-11-03 11:46:15 UTC (rev 333)
@@ -1,34 +1,60 @@
 package org.codehaus.waffle.controller;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import org.codehaus.waffle.context.ContextContainer;
 import org.codehaus.waffle.context.RequestLevelContainer;
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JMock;
 import org.jruby.Ruby;
 import org.jruby.javasupport.JavaUtil;
 import org.jruby.runtime.builtin.IRubyObject;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
-public class RubyControllerDefinitionFactoryTest extends MockObjectTestCase {
 
-    public void testFindControllerHandlesIRubyObject() {
+/**
+ * 
+ * @author Michael Ward
+ * @author Mauro Talevi
+ */
[EMAIL PROTECTED](JMock.class)
+public class RubyControllerDefinitionFactoryTest {
+
+    private Mockery mockery = new Mockery();
+
+    @Test
+    public void canHandleIRubyObject() {
         RubyControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null);
 
-        Mock mockContextContainer = mock(ContextContainer.class);
-        IRubyObject rubyObject = JavaUtil.convertJavaToRuby(Ruby.getDefaultInstance(), "Hello From Ruby");
-        mockContextContainer.expects(once()).method("getComponentInstance").with(eq("foobar")).will(returnValue(rubyObject));
-        ContextContainer contextContainer = (ContextContainer) mockContextContainer.proxy();
+        final ContextContainer contextContainer = mockery.mock(ContextContainer.class);
+        mockery.checking(new Expectations() {
+            {
+                IRubyObject rubyObject = JavaUtil.convertJavaToRuby(Ruby.getDefaultInstance(), "Hello From Ruby");
+                one(contextContainer).getComponentInstance("foobar");
+                will(returnValue(rubyObject));
+            }
+        });
         RequestLevelContainer.set(contextContainer);
 
         Object controller = factory.findController("foobar", null);
         assertTrue(controller instanceof RubyController);
     }
 
-    public void testFindControllerHandlesNonRubyObjects() {
+    @Test
+    public void canHandleNonRubyObjects() {
         RubyControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null);
 
-        Mock mockContextContainer = mock(ContextContainer.class);
-        mockContextContainer.expects(once()).method("getComponentInstance").with(eq("foobar")).will(returnValue("Pojo"));
-        ContextContainer contextContainer = (ContextContainer) mockContextContainer.proxy();
+        final ContextContainer contextContainer = mockery.mock(ContextContainer.class);
+        mockery.checking(new Expectations() {
+            {
+                one(contextContainer).getComponentInstance("foobar");
+                will(returnValue("Pojo"));
+            }
+        });
         RequestLevelContainer.set(contextContainer);
 
         Object controller = factory.findController("foobar", null);

Modified: trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java (332 => 333)

--- trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java	2007-11-03 11:01:55 UTC (rev 332)
+++ trunk/core/src/test/java/org/codehaus/waffle/controller/RubyControllerTest.java	2007-11-03 11:46:15 UTC (rev 333)
@@ -1,12 +1,20 @@
 package org.codehaus.waffle.controller;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 import org.codehaus.waffle.action.ActionMethodInvocationException;
-import org.jmock.MockObjectTestCase;
 import org.jruby.Ruby;
+import org.junit.Test;
 
-public class RubyControllerTest extends MockObjectTestCase {
+/**
+ * 
+ * @author Michael Ward
+ */
+public class RubyControllerTest  {
 
-    public void testExecute() {
+    @Test
+    public void canExecute() {
         String script =
                 "class Foo\n" +
                 "  def my_method\n" +
@@ -22,7 +30,8 @@
         assertEquals("Hello World", rubyController.execute());
     }
 
-    /*public void testOnlyPublicRubyMethodsShouldBeExecutable() {
+    //@Test
+    public void onlyPublicRubyMethodsShouldBeExecutable() {
         String script =
                 "class Foo\n" +
                 "  protected\n" +
@@ -56,5 +65,5 @@
             // expected
         }
 
-    }*/
+    }
 }

Modified: trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java (332 => 333)

--- trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java	2007-11-03 11:01:55 UTC (rev 332)
+++ trunk/core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java	2007-11-03 11:46:15 UTC (rev 333)
@@ -1,11 +1,18 @@
 package org.codehaus.waffle.i18n;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
 import java.util.Locale;
 
-public class DefaultMessageResourcesTest extends TestCase {
+import org.junit.Test;
 
+/**
+ * 
+ * @author Michael Ward
+ * @author Mauro Talevi
+ */
+public class DefaultMessageResourcesTest  {
+
     private MessageResourcesConfiguration configuration = new MessageResourcesConfiguration() {
         public String getResourceBundleName() {
             return "FakeResourceBundle";
@@ -16,12 +23,14 @@
         }
     };
 
-    public void testGetLocaleReturnsDefaultIfNull() {
+    @Test
+    public void canGetDefaultLocaleIfNoLocaleSpecified() {
         MessageResources messageResources = new DefaultMessageResources();
         assertEquals(Locale.getDefault(), messageResources.getLocale());
     }
 
-    public void testGetMessage() {
+    @Test
+    public void canGetMessage() {
         MessageResources messageResources = new DefaultMessageResources(configuration);
         assertEquals("thoughtworks", messageResources.getMessage("company"));
         assertEquals("hello mars", messageResources.getMessage("foo.bar", "mars"));
@@ -31,7 +40,8 @@
         assertEquals("cheerio mars", messageResources.getMessage("foo.bar", "mars"));
     }
 
-    public void testGetMessageWithDefault() {
+    @Test
+    public void canGetMessageWithDefault() {
         MessageResources messageResources = new DefaultMessageResources(configuration);
 
         assertEquals("thoughtworks", messageResources.getMessageWithDefault("company", "BEARS"));


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to