Code from a @Test method:
List<PesquisaProxy> pesquisas = new ArrayList<PesquisaProxy>();
Request<?> request = mock(Request.class);
doReturn(request).when(pesquisaRequest).listAll();
doReturn(pesquisaRequest).when(requestFactory).pesquisaRequest();
doAnswer(RequestFactoryUtils.ok(pesquisas)).when(request).fire(RequestFactoryUtils.anyReceiver());
And here my RequestFactoryUtils.ok:
public static <T> Answer<T> ok(final T result) {
return new Answer<T>() {
@Override
public T answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
Object _receiver = args[args.length - 1];
Receiver<T> receiver = (Receiver<T>)_receiver;
receiver.onSuccess(result);
return null;
}
};
}
On Thu, Aug 11, 2011 at 6:32 PM, objectuser <[email protected]> wrote:
> Here's how I do it.
> @Test
> public void testAsync() {
> doAnswer(new Answer<Void>() {
>
> @Override
> public Void answer(InvocationOnMock invocation) throws
> Throwable {
> AsyncCallback<CommandResult> callback =
> (AsyncCallback<CommandResult>) invocation.getArguments()[1];
> callback.onSuccess(new CommandResult());
> return null;
> }
> }).when(commandProcessor).execute(any(Command.class),
> any(AsyncCallback.class));
>
> // invoke something that sends the command ... then verify the
> results
> verify(...)...;
> }
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-web-toolkit/-/xx0OrJ46MUwJ.
>
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
--
Magno Machado Paulo
http://blog.magnomachado.com.br
http://code.google.com/p/emballo/
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.