@Test public void shouldHandleSingleItemIterators() throws Exception { // Given ResourceIterator<Long> it1 = asResourceIterator(iterator(1l)); ResourceIterator<Long> it2 = asResourceIterator(iterator(5l, 6l, 7l)); CombiningResourceIterator<Long> combingIterator = new CombiningResourceIterator<>(iterator(it1, it2)); // When I iterate through it, things come back in the right order assertThat(IteratorUtil.asList(combingIterator), equalTo(asList(1l, 5l, 6l, 7l))); }
@Test public void shouldNotCloseDuringIteration() throws Exception { // Given ResourceIterator<Long> it1 = spy(asResourceIterator(iterator(1l, 2l, 3l))); ResourceIterator<Long> it2 = spy(asResourceIterator(iterator(5l, 6l, 7l))); CombiningResourceIterator<Long> combingIterator = new CombiningResourceIterator<>(iterator(it1, it2)); // When I iterate through it, things come back in the right order assertThat(IteratorUtil.asList(combingIterator), equalTo(asList(1l, 2l, 3l, 5l, 6l, 7l))); // Then verify(it1, never()).close(); verify(it2, never()).close(); }