package com.annimon.stream.doublestreamtests; import com.annimon.stream.DoubleStream; import com.annimon.stream.iterator.PrimitiveIterator; import org.junit.Test; import static com.annimon.stream.test.hamcrest.DoubleStreamMatcher.elements; import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.closeTo; import static org.junit.Assert.assertThat; public final class OfPrimitiveIteratorTest { @Test @SuppressWarnings("unchecked") public void testStreamOfPrimitiveIterator() { DoubleStream stream = DoubleStream.of(new PrimitiveIterator.OfDouble() { private int index = 0; @Override public boolean hasNext() { return index < 3; } @Override public double nextDouble() { index++; return index + 0.0021; } }); assertThat(stream, elements(arrayContaining( closeTo(1.0021, 0.00001), closeTo(2.0021, 0.00001), closeTo(3.0021, 0.00001) ))); } @Test(expected = NullPointerException.class) public void testStreamOfPrimitiveIteratorNull() { DoubleStream.of((PrimitiveIterator.OfDouble) null); } }