Added tests for Message subclass as return value.

This commit is contained in:
Mark Fisher
2008-01-09 15:58:50 +00:00
parent 9acd5bf089
commit 7986d8a6c7
2 changed files with 29 additions and 0 deletions

View File

@@ -81,6 +81,17 @@ public class DefaultMessageHandlerAdapterTests {
assertEquals("testing-5", result.getPayload());
}
@Test
public void testMessageSubclassAsMethodParameterAndMessageSubclassAsReturnValue() {
DefaultMessageHandlerAdapter<TestHandler> adapter = new DefaultMessageHandlerAdapter<TestHandler>();
adapter.setShouldUseMapperOnInvocation(false);
adapter.setObject(new TestHandler());
adapter.setMethodName("acceptMessageSubclassAndReturnMessageSubclass");
adapter.afterPropertiesSet();
Message<?> result = adapter.handle(new StringMessage("testing"));
assertEquals("testing-6", result.getPayload());
}
private static class TestHandler {
@@ -103,6 +114,10 @@ public class DefaultMessageHandlerAdapterTests {
public Message<?> acceptMessageSubclassAndReturnMessage(StringMessage m) {
return new StringMessage(m.getPayload() + "-5");
}
public StringMessage acceptMessageSubclassAndReturnMessageSubclass(StringMessage m) {
return new StringMessage(m.getPayload() + "-6");
}
}
}

View File

@@ -74,6 +74,15 @@ public class DefaultMessageHandlerCreatorTests {
assertEquals("testing-5", result.getPayload());
}
@Test
public void testMessageSubclassAsMethodParameterAndMessageSubclassAsReturnValue() throws Exception {
DefaultMessageHandlerCreator creator = new DefaultMessageHandlerCreator();
MessageHandler handler = creator.createHandler(new TestHandler(),
TestHandler.class.getMethod("acceptMessageSubclassAndReturnMessageSubclass", StringMessage.class), null);
Message<?> result = handler.handle(new StringMessage("testing"));
assertEquals("testing-6", result.getPayload());
}
private static class TestHandler {
@@ -96,5 +105,10 @@ public class DefaultMessageHandlerCreatorTests {
public Message<?> acceptMessageSubclassAndReturnMessage(StringMessage m) {
return new StringMessage(m.getPayload() + "-5");
}
public StringMessage acceptMessageSubclassAndReturnMessageSubclass(StringMessage m) {
return new StringMessage(m.getPayload() + "-6");
}
}
}