@Test public void shouldPrefixEveryElementInIteratorAndNothingMore() { Iterator<Integer> incrementing = generatorFactory.boundedIncrementing(0, 2, 10); Iterator<String> prefixing = generatorFactory.prefix(incrementing, "pre"); assertThat(prefixing.next(), is("pre0")); assertThat(prefixing.next(), is("pre2")); assertThat(prefixing.next(), is("pre4")); assertThat(prefixing.next(), is("pre6")); assertThat(prefixing.next(), is("pre8")); assertThat(prefixing.next(), is("pre10")); assertThat(prefixing.hasNext(), is(false)); assertThat(incrementing.hasNext(), is(false)); }