@SuppressWarnings("unused") public void processNameValuePair(String name, int value) { processedFooNameValuePairs.add(new Foo(name, value)); }
/** * Regular use - calling methods directly and via delegator leads to same * results */ @Test public void testDelegationWithArgument() throws Exception { delegator.setTargetMethod("setName"); final String NEW_FOO_NAME = "newFooName"; delegator.afterPropertiesSet(); delegator.invokeDelegateMethodWithArgument(NEW_FOO_NAME); assertEquals(NEW_FOO_NAME, foo.getName()); // using the arguments setter should work equally well foo.setName("foo"); assertTrue(!foo.getName().equals(NEW_FOO_NAME)); delegator.setArguments(new Object[] { NEW_FOO_NAME }); delegator.afterPropertiesSet(); delegator.invokeDelegateMethod(); assertEquals(NEW_FOO_NAME, foo.getName()); }
/** * Regular use - calling methods directly and via delegator leads to same * results */ @Test @Ignore //FIXME public void testDelegationWithMultipleArguments() throws Exception { FooService fooService = new FooService(); delegator.setTargetObject(fooService); delegator.setTargetMethod("processNameValuePair"); delegator.afterPropertiesSet(); final String FOO_NAME = "fooName"; final int FOO_VALUE = 12345; delegator.invokeDelegateMethodWithArguments(new Object[] { FOO_NAME, FOO_VALUE }); Foo foo = fooService.getProcessedFooNameValuePairs().get(0); assertEquals(FOO_NAME, foo.getName()); assertEquals(FOO_VALUE, foo.getValue()); }
@Test public void testTooManyArguments() throws Exception { delegator.setTargetMethod("setName"); // single argument expected but two provided delegator.invokeDelegateMethodWithArguments(new Object[] { "name", "anotherName" }); assertEquals("name", foo.getName()); }
@SuppressWarnings("unused") public void processNameValuePair(String name, String value) { processedFooNameValuePairs.add(new Foo(name, new Integer(value))); }
/** * Regular use - calling methods directly and via delegator leads to same * results */ @Test public void testDelegation() throws Exception { delegator.setTargetMethod("getName"); delegator.afterPropertiesSet(); assertEquals(foo.getName(), delegator.invokeDelegateMethod()); }
/** * Null argument value doesn't cause trouble when validating method * signature. */ @Test public void testDelegationWithCheckedNullArgument() throws Exception { delegator.setTargetMethod("setName"); delegator.setArguments(new Object[] { null }); delegator.afterPropertiesSet(); delegator.invokeDelegateMethod(); assertNull(foo.getName()); }