package org.tenidwa.collections.utils; import java.util.Arrays; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.stream.Stream; import org.junit.Assert; import org.junit.Test; public final class StreamIterableTest { @Test public void containsRightElements() { final Iterator<Integer> iterator = new StreamIterable<>( Arrays.asList(1, 2, 3, 4).stream() ) .iterator(); Assert.assertTrue(iterator.hasNext()); Assert.assertEquals(1, (int) iterator.next()); Assert.assertTrue(iterator.hasNext()); Assert.assertEquals(2, (int) iterator.next()); Assert.assertTrue(iterator.hasNext()); Assert.assertEquals(3, (int) iterator.next()); Assert.assertTrue(iterator.hasNext()); Assert.assertEquals(4, (int) iterator.next()); Assert.assertFalse(iterator.hasNext()); } @Test(expected = NoSuchElementException.class) public void canWorkWithEmptyStream() { new StreamIterable<>(Stream.of()) .iterator() .next(); } }