@Test public void testNext() throws Exception { List<Object> returnedItems = new ArrayList<>(); Object item; while ((item = provider.read()) != null) { returnedItems.add(item); } List<Foo> input = fooService.getGeneratedFoos(); assertEquals(input.size(), returnedItems.size()); assertFalse(returnedItems.isEmpty()); for (int i = 0; i < input.size(); i++) { assertSame(input.get(i), returnedItems.get(i)); } }