package com.annimon.stream.doublestreamtests;
import com.annimon.stream.DoubleStream;
import org.junit.Test;
import static com.annimon.stream.test.hamcrest.DoubleStreamMatcher.assertElements;
import static com.annimon.stream.test.hamcrest.DoubleStreamMatcher.assertIsEmpty;
import static org.hamcrest.Matchers.arrayContaining;
public final class LimitTest {
@Test
public void testLimit() {
DoubleStream.of(0.1, 0.2, 0.3)
.limit(2)
.custom(assertElements(arrayContaining(
0.1, 0.2
)));
}
@Test(expected = IllegalArgumentException.class)
public void testLimitNegative() {
DoubleStream.of(0.1, 2.345).limit(-2).count();
}
@Test
public void testLimitZero() {
DoubleStream.of(0.1, 0.2, 0.3)
.limit(0)
.custom(assertIsEmpty());
}
@Test
public void testLimitMoreThanCount() {
DoubleStream.of(0.1, 0.2, 0.3)
.limit(5)
.custom(assertElements(arrayContaining(
0.1, 0.2, 0.3
)));
}
}