@Test
public void testResetAndRestart() throws Exception {
testedAsStream().update(executionContext);
Foo foo1 = tested.read();
assertEquals(1, foo1.getValue());
Foo foo2 = tested.read();
assertEquals(2, foo2.getValue());
testedAsStream().update(executionContext);
Foo foo3 = tested.read();
assertEquals(3, foo3.getValue());
testedAsStream().close();
// create new input source
tested = getItemReader();
testedAsStream().open(executionContext);
Foo fooAfterRestart = tested.read();
assertEquals(3, fooAfterRestart.getValue());
}