public void testDuplicateIterators() { List list = Arrays.asList(new String[] {"0", "1"}); Iterator iterator = list.iterator(); CompositeIterator it = new CompositeIterator(); it.add(iterator); it.add(list.iterator()); try { it.add(iterator); fail(); } catch (IllegalArgumentException e) { // expected } }
public void testMultipleIterators() { CompositeIterator it = new CompositeIterator(); it.add(Arrays.asList(new String[] {"0", "1"}).iterator()); it.add(Arrays.asList(new String[] {"2"}).iterator()); it.add(Arrays.asList(new String[] {"3", "4"}).iterator()); for (int i = 0; i < 5; i++) { assertTrue(it.hasNext()); assertEquals(String.valueOf(i), it.next()); } assertFalse(it.hasNext()); try { it.next(); fail(); } catch (NoSuchElementException e) { // expected } }
public void testInUse() { List list = Arrays.asList(new String[] {"0", "1"}); CompositeIterator it = new CompositeIterator(); it.add(list.iterator()); it.hasNext(); try { it.add(list.iterator()); fail(); } catch (IllegalStateException e) { // expected } it = new CompositeIterator(); it.add(list.iterator()); it.next(); try { it.add(list.iterator()); fail(); } catch (IllegalStateException e) { // expected } }