- Revision
- 338
- Author
- mauro
- Date
- 2007-11-03 10:21:13 -0500 (Sat, 03 Nov 2007)
Log Message
Migrated or completed migration of other unit tests to jMock 2.
Modified Paths
- trunk/core/src/test/java/org/codehaus/waffle/bind/DefaultBindErrorMessageResolverTest.java
- trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java
- trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlTypeConverterTest.java
Diff
Modified: trunk/core/src/test/java/org/codehaus/waffle/bind/DefaultBindErrorMessageResolverTest.java (337 => 338)
--- trunk/core/src/test/java/org/codehaus/waffle/bind/DefaultBindErrorMessageResolverTest.java 2007-11-03 14:50:11 UTC (rev 337) +++ trunk/core/src/test/java/org/codehaus/waffle/bind/DefaultBindErrorMessageResolverTest.java 2007-11-03 15:21:13 UTC (rev 338) @@ -1,25 +1,39 @@ package org.codehaus.waffle.bind; +import static org.junit.Assert.assertEquals; + +import java.util.MissingResourceException; + import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.testmodel.FakeBean; -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 java.util.MissingResourceException; +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ [EMAIL PROTECTED](JMock.class) +public class DefaultBindErrorMessageResolverTest { -public class DefaultBindErrorMessageResolverTest extends MockObjectTestCase { + private Mockery mockery = new Mockery(); - public void testResolveFirstCheckForCustomFieldMessage() { - Mock mockMessageResources = mock(MessageResources.class); - mockMessageResources.expects(once()) - .method("getMessageWithDefault") - .with(eq("decimal"), eq("decimal"), ANYTHING) - .will(returnValue("my.field.name")); - mockMessageResources.expects(once()) - .method("getMessage") - .with(eq("my.field.name.bind.error"), eq(new Object[] {"bad-value"})) - .will(returnValue("My Error Message")); - MessageResources messageResources = (MessageResources) mockMessageResources.proxy(); + @Test + public void canResolveFirstCheckForCustomFieldMessage() { + // Mock MessageResources + final MessageResources messageResources = mockery.mock(MessageResources.class); + mockery.checking(new Expectations() { + { + one(messageResources).getMessageWithDefault("decimal", "decimal", new Object[] {}); + will(returnValue("my.field.name")); + one(messageResources).getMessage("my.field.name.bind.error", new Object[] { "bad-value" }); + will(returnValue("My Error Message")); + } + }); BindErrorMessageResolver messageResolver = new DefaultBindErrorMessageResolver(messageResources); String message = messageResolver.resolve(new FakeBean(), "decimal", "bad-value"); @@ -27,53 +41,53 @@ assertEquals("My Error Message", message); } - public void testResolveRevertsToTypeBasedBindErrorMessage() { - Mock mockMessageResources = mock(MessageResources.class); - mockMessageResources.expects(once()) - .method("getMessageWithDefault") - .with(eq("count"), eq("count"), ANYTHING) - .will(returnValue("my.field.name")); - mockMessageResources.expects(once()) - .method("getMessage") - .with(eq("my.field.name.bind.error"), eq(new Object[] {"bad-value"})) - .will(throwException(new MissingResourceException("fake", "class", "key"))); - mockMessageResources.expects(once()) - .method("getMessage") - .with(eq("number.bind.error"), eq(new Object[] {"my.field.name", "bad-value"})) - .will(returnValue("The error message")); - MessageResources messageResources = (MessageResources) mockMessageResources.proxy(); - + @Test + public void canResolveToTypeBasedBindErrorMessage() { + // Mock MessageResources + final MessageResources messageResources = mockery.mock(MessageResources.class); + mockery.checking(new Expectations() { + { + one(messageResources).getMessageWithDefault("count", "count", new Object[] {}); + will(returnValue("my.field.name")); + one(messageResources).getMessage("my.field.name.bind.error", new Object[] { "bad-value" }); + will(throwException(new MissingResourceException("fake", "class", "key"))); + one(messageResources).getMessage("number.bind.error", + new Object[] { "my.field.name", "bad-value" }); + will(returnValue("The error message")); + } + }); + BindErrorMessageResolver messageResolver = new DefaultBindErrorMessageResolver(messageResources); String message = messageResolver.resolve(new FakeBean(), "count", "bad-value"); assertEquals("The error message", message); } + + @Test + public void canResolveToDefaultBindErrorMessage() { + // Mock MessageResources + final MessageResources messageResources = mockery.mock(MessageResources.class); + mockery.checking(new Expectations() { + { + one(messageResources).getMessageWithDefault("count", "count", new Object[] {}); + will(returnValue("my.field.name")); + one(messageResources).getMessage("my.field.name.bind.error", new Object[] { "bad-value" }); + will(throwException(new MissingResourceException("fake", "class", "key"))); + one(messageResources).getMessage("number.bind.error", + new Object[] { "my.field.name", "bad-value" }); + will(throwException(new MissingResourceException("fake", "class", "key"))); + one(messageResources).getMessage("default.bind.error", + new Object[] { "my.field.name", "bad-value" }); + will(returnValue("The default error message")); + } + }); - public void testResolveRevertsToDefaultBindErrorMessage() { - Mock mockMessageResources = mock(MessageResources.class); - mockMessageResources.expects(once()) - .method("getMessageWithDefault") - .with(eq("count"), eq("count"), ANYTHING) - .will(returnValue("my.field.name")); - mockMessageResources.expects(once()) - .method("getMessage") - .with(eq("my.field.name.bind.error"), eq(new Object[] {"bad-value"})) - .will(throwException(new MissingResourceException("fake", "class", "key"))); - mockMessageResources.expects(once()) - .method("getMessage") - .with(eq("number.bind.error"), eq(new Object[] {"my.field.name", "bad-value"})) - .will(throwException(new MissingResourceException("fake", "class", "key"))); - mockMessageResources.expects(once()) - .method("getMessage") - .with(eq("default.bind.error"), eq(new Object[] {"my.field.name", "bad-value"})) - .will(returnValue("The default error message")); - MessageResources messageResources = (MessageResources) mockMessageResources.proxy(); - BindErrorMessageResolver messageResolver = new DefaultBindErrorMessageResolver(messageResources); String message = messageResolver.resolve(new FakeBean(), "count", "bad-value"); assertEquals("The default error message", message); } - public void testFindBindErrorMessageKey() { + @Test + public void canFindBindErrorMessageKey() { DefaultBindErrorMessageResolver messageResolver = new DefaultBindErrorMessageResolver(null); // Primitive numbers and their wrappers @@ -95,5 +109,4 @@ assertEquals("boolean.bind.error", messageResolver.findBindErrorMessageKey(Boolean.class)); } - }
Modified: trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java (337 => 338)
--- trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java 2007-11-03 14:50:11 UTC (rev 337) +++ trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java 2007-11-03 15:21:13 UTC (rev 338) @@ -1,40 +1,60 @@ package org.codehaus.waffle.bind; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import ognl.DefaultTypeConverter; + import org.codehaus.waffle.context.ContextLevel; +import org.codehaus.waffle.testmodel.FakeBean; import org.codehaus.waffle.testmodel.FakeController; -import org.codehaus.waffle.testmodel.FakeBean; import org.codehaus.waffle.validation.BindErrorMessage; import org.codehaus.waffle.validation.DefaultErrorsContext; import org.codehaus.waffle.validation.ErrorsContext; -import ognl.DefaultTypeConverter; -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 javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ [EMAIL PROTECTED](JMock.class) +public class OgnlDataBinderTest { -public class OgnlDataBinderTest extends MockObjectTestCase { + private Mockery mockery = new Mockery(); - public void testBind() { + @Test + public void canBind() { List<String> parameters = new ArrayList<String>(); parameters.add("name"); parameters.add("contextLevel"); - Enumeration enumeration = Collections.enumeration(parameters); + final Enumeration<String> enumeration = Collections.enumeration(parameters); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()).method("getParameterNames") - .will(returnValue(enumeration)); - mockRequest.expects(once()).method("getParameter") - .with(eq("name")) - .will(returnValue("foobar")); - mockRequest.expects(once()).method("getParameter") - .with(eq("contextLevel")) - .will(returnValue("APPLICATION")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getParameterNames(); + will(returnValue(enumeration)); + one(request).getParameter("name"); + will(returnValue("foobar")); + one(request).getParameter("contextLevel"); + will(returnValue("APPLICATION")); + } + }); FakeController fakeController = new FakeController(); DataBinder binder = new OgnlDataBinder(new OgnlTypeConverter(), null); @@ -46,16 +66,22 @@ assertFalse(errorsContext.hasErrorMessages()); } - public void testBindEmptyValueForEnum() { + @Test + public void canBindEmptyValueForEnum() { List<String> parameters = new ArrayList<String>(); parameters.add("contextLevel"); - Enumeration enumeration = Collections.enumeration(parameters); + final Enumeration<String> enumeration = Collections.enumeration(parameters); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()).method("getParameterNames").will(returnValue(enumeration)); - mockRequest.expects(once()).method("getParameter").with(eq("contextLevel")).will(returnValue("")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getParameterNames(); + will(returnValue(enumeration)); + one(request).getParameter("contextLevel"); + will(returnValue("")); + } + }); FakeController fakeController = new FakeController(); DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null); @@ -66,19 +92,22 @@ assertFalse(errorsContext.hasErrorMessages()); } - public void testBindNoSuchPropertyExceptionIgnored() { + @Test + public void canIgnoreNoSuchPropertyException() { List<String> parameters = new ArrayList<String>(); parameters.add("method"); - Enumeration enumeration = Collections.enumeration(parameters); + final Enumeration<String> enumeration = Collections.enumeration(parameters); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()).method("getParameterNames") - .will(returnValue(enumeration)); - mockRequest.expects(once()).method("getParameter") - .with(eq("method")) - .will(returnValue("this should cause a NoSuchPropertyException!")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getParameterNames(); + will(returnValue(enumeration)); + one(request).getParameter("method"); + will(returnValue("this should cause a NoSuchPropertyException!")); + } + }); FakeController fakeController = new FakeController(); DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null); @@ -89,23 +118,25 @@ } /** - * This tests that parameter names with strange characters (i.e. '-') don't cause errors. - * <p/> - * This was discovered when using displaytags.sf.net project with waffle + * This tests that parameter names with strange characters (i.e. '-') don't cause errors. <p/> This was discovered + * when using displaytags.sf.net project with waffle */ - public void testBindInappropriateExpressionExceptionIgnored() { + @Test + public void canIgnoreInappropriateExpression() { List<String> parameters = new ArrayList<String>(); parameters.add("x-01234567-s"); - Enumeration enumeration = Collections.enumeration(parameters); + final Enumeration<String> enumeration = Collections.enumeration(parameters); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()).method("getParameterNames") - .will(returnValue(enumeration)); - mockRequest.expects(once()).method("getParameter") - .with(eq("x-01234567-s")) - .will(returnValue("blah")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getParameterNames(); + will(returnValue(enumeration)); + one(request).getParameter("x-01234567-s"); + will(returnValue("blah")); + } + }); FakeController fakeController = new FakeController(); DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null); @@ -115,26 +146,30 @@ assertFalse(errorsContext.hasErrorMessages()); } - public void testFieldValueBindError() { + @Test + public void canHandleFieldValueBindError() { List<String> parameters = new ArrayList<String>(); parameters.add("count"); - Enumeration enumeration = Collections.enumeration(parameters); + final Enumeration<String> enumeration = Collections.enumeration(parameters); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()).method("getParameterNames") - .will(returnValue(enumeration)); - mockRequest.expects(once()).method("getParameter") - .with(eq("count")) - .will(returnValue("bad value")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getParameterNames(); + will(returnValue(enumeration)); + one(request).getParameter("count"); + will(returnValue("bad value")); + } + }); // Mock BindErrorMessageResolver - Mock mockBindErrorMessageResolver = mock(BindErrorMessageResolver.class); - mockBindErrorMessageResolver.expects(once()) - .method("resolve") - .with(isA(FakeBean.class), eq("count"), eq("bad value")); - BindErrorMessageResolver resolver = (BindErrorMessageResolver) mockBindErrorMessageResolver.proxy(); + final BindErrorMessageResolver resolver = mockery.mock(BindErrorMessageResolver.class); + mockery.checking(new Expectations() { + { + one(resolver).resolve(with(an(FakeBean.class)), with(same("count")), with(same("bad value"))); + } + }); DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), resolver); @@ -150,19 +185,22 @@ assertEquals("bad value", bindValidationMessage.getValue()); } - public void testBindHandlesBindException() { + @Test + public void canHandleBindException() { List<String> parameters = new ArrayList<String>(); parameters.add("count"); - Enumeration enumeration = Collections.enumeration(parameters); + final Enumeration<String> enumeration = Collections.enumeration(parameters); // Mock HttpServletRequest - Mock mockRequest = mock(HttpServletRequest.class); - mockRequest.expects(once()).method("getParameterNames") - .will(returnValue(enumeration)); - mockRequest.expects(once()).method("getParameter") - .with(eq("count")) - .will(returnValue("bad value")); - HttpServletRequest request = (HttpServletRequest) mockRequest.proxy(); + final HttpServletRequest request = mockery.mock(HttpServletRequest.class); + mockery.checking(new Expectations() { + { + one(request).getParameterNames(); + will(returnValue(enumeration)); + one(request).getParameter("count"); + will(returnValue("bad value")); + } + }); DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null) { protected void handleConvert(String parameterName, String parameterValue, Object model) {
Modified: trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlTypeConverterTest.java (337 => 338)
--- trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlTypeConverterTest.java 2007-11-03 14:50:11 UTC (rev 337) +++ trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlTypeConverterTest.java 2007-11-03 15:21:13 UTC (rev 338) @@ -1,40 +1,54 @@ package org.codehaus.waffle.bind; -import org.codehaus.waffle.context.ContextLevel; -import org.jmock.Mock; -import org.jmock.MockObjectTestCase; +import static org.junit.Assert.assertEquals; import java.util.Vector; -public class OgnlTypeConverterTest extends MockObjectTestCase { +import org.codehaus.waffle.context.ContextLevel; +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 testConvertValueForEnum() { +/** + * + * @author Michael Ward + * @author Mauro Talevi + */ [EMAIL PROTECTED](JMock.class) +public class OgnlTypeConverterTest { + + private Mockery mockery = new Mockery(); + + @Test + public void canConvertValueForEnum() { OgnlTypeConverter converter = new OgnlTypeConverter(); Object result = converter.convertValue("foobar", "APPLICATION", ContextLevel.class); assertEquals(ContextLevel.APPLICATION, result); } - public void testConstructorHandlesNull() { + @Test + public void canHandleNulls() { OgnlTypeConverter converter = new OgnlTypeConverter(); Integer value = (Integer) converter.convertValue("foobar", "15", Integer.class); assertEquals(15, value.intValue()); } - public void testConvertDelegatesToWaffleTypeConverter() { - // Mock TypeConverter - Mock mockWaffleTypeConverter = mock(WaffleTypeConverter.class); - mockWaffleTypeConverter.expects(once()) - .method("accept") - .with(eq(Vector.class)) - .will(returnValue(true)); - mockWaffleTypeConverter.expects(once()) - .method("convert") - .with(eq("propertyName"), eq("foobar"), eq(Vector.class)) - .will(returnValue(new Vector())); - WaffleTypeConverter waffleTypeConverter = (WaffleTypeConverter) mockWaffleTypeConverter.proxy(); - + @Test + public void canConvertDelegatesToWaffleTypeConverter() { + // Mock TypeConverter + final WaffleTypeConverter waffleTypeConverter = mockery.mock(WaffleTypeConverter.class); + mockery.checking(new Expectations() { + { + one(waffleTypeConverter).accept(Vector.class); + will(returnValue(true)); + one(waffleTypeConverter).convert(with(same("propertyName")), with(same("foobar")), with(same(Vector.class))); + will(returnValue(new Vector<Object>())); + } + }); WaffleTypeConverter[] waffleTypeConverters = {waffleTypeConverter}; OgnlTypeConverter converter = new OgnlTypeConverter(waffleTypeConverters);
To unsubscribe from this list please visit:
