@Test public void testConcat2() { AtomicBoolean closed = new AtomicBoolean(false); TestAutoCloseableIterator testIter1 = new TestAutoCloseableIterator(closed); AutoCloseableIterator<List<String>> partition = AutoCloseableIterator.partition(testIter1, 1); AutoCloseableIterator<Iterator<String>> main = AutoCloseableIterator.transform(partition, item -> item.iterator()); AutoCloseableIterator<String> result = AutoCloseableIterator.concat(main); assertEquals("item1", result.next()); assertEquals("item2", result.next()); assertEquals("item11", result.next()); assertTrue(!closed.get()); result.close(); assertTrue(closed.get()); }
@Test public void testPartition() { AtomicBoolean closed = new AtomicBoolean(false); AutoCloseableIterator<String> orig = new TestAutoCloseableIterator(closed); AutoCloseableIterator<List<String>> partition = AutoCloseableIterator.partition(orig, 2); assertTrue(partition.hasNext()); assertEquals(2, partition.next().size()); assertTrue(partition.hasNext()); assertEquals(1, partition.next().size()); assertFalse(partition.hasNext()); partition.close(); assertTrue(closed.get()); } }