/*
* Regular usage scenario - input object should be passed to the service the injected invoker points to.
*/
@Test
public void testProcess() throws Exception {
Foo foo;
while ((foo = fooService.generateFoo()) != null) {
processor.write(Collections.singletonList(foo));
}
List<Foo> input = fooService.getGeneratedFoos();
List<Foo> processed = fooService.getProcessedFooNameValuePairs();
assertEquals(input.size(), processed.size());
assertFalse(fooService.getProcessedFooNameValuePairs().isEmpty());
for (int i = 0; i < input.size(); i++) {
Foo inputFoo = input.get(i);
Foo outputFoo = processed.get(i);
assertEquals(inputFoo.getName(), outputFoo.getName());
assertEquals(inputFoo.getValue(), outputFoo.getValue());
assertEquals(0, outputFoo.getId());
}
}