private ODataContext context;
@Override
protected ODataService createService() throws ODataException {
final EdmProvider provider = createEdmProvider();
final ODataSingleProcessor processor = createProcessor();
// science fiction (return context after setContext)
// see http://www.planetgeek.ch/2010/07/20/mockito-answer-vs-return/
doAnswer(new Answer<Object>() {
@Override
public Object answer(final InvocationOnMock invocation) throws Throwable {
context = (ODataContext) invocation.getArguments()[0];
return null;
}
}).when(processor).setContext(any(ODataContext.class));
when(processor.getContext()).thenAnswer(new Answer<ODataContext>() {
@Override
public ODataContext answer(final InvocationOnMock invocation) throws Throwable {
return context;
}
});