Skip to content

Commit b945f67

Browse files
authored
Add BatchSpliterator presizing tests (#782)
1 parent fd5e794 commit b945f67

File tree

1 file changed

+30
-16
lines changed

1 file changed

+30
-16
lines changed

src/test/java/com/pivovarit/collectors/BatchingSpliteratorTest.java

+30-16
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.util.Arrays;
66
import java.util.List;
77
import java.util.stream.Collectors;
8-
import java.util.stream.Stream;
8+
import java.util.stream.IntStream;
99

1010
import static com.pivovarit.collectors.BatchingSpliterator.partitioned;
1111
import static org.assertj.core.api.Assertions.assertThat;
@@ -15,33 +15,33 @@ class BatchingSpliteratorTest {
1515

1616
@Test
1717
void shouldSplitInNEvenBatches() {
18-
List<Integer> list = Stream.generate(() -> 42).limit(10).collect(Collectors.toList());
18+
var list = IntStream.range(0, 10).boxed().toList();
1919

20-
List<List<Integer>> result = partitioned(list, 3).collect(Collectors.toList());
20+
var result = partitioned(list, 3).toList();
2121

2222
assertThat(result)
23-
.hasSize(3)
24-
.extracting(List::size)
25-
.contains(4, 3);
23+
.hasSize(3)
24+
.extracting(List::size)
25+
.contains(4, 3);
2626
}
2727

2828
@Test
2929
void shouldSplitInNBatches() {
30-
List<Integer> list = Stream.generate(() -> 42).limit(10).collect(Collectors.toList());
30+
var list = IntStream.range(0, 10).boxed().toList();
3131

32-
List<List<Integer>> result = partitioned(list, 2).collect(Collectors.toList());
32+
var result = partitioned(list, 2).toList();
3333

3434
assertThat(result)
35-
.hasSize(2)
36-
.extracting(List::size)
37-
.containsOnly(5);
35+
.hasSize(2)
36+
.extracting(List::size)
37+
.containsOnly(5);
3838
}
3939

4040
@Test
4141
void shouldSplitInNSingletonLists() {
42-
List<Integer> list = Stream.generate(() -> 42).limit(5).collect(Collectors.toList());
42+
var list = IntStream.range(0, 5).boxed().toList();
4343

44-
List<List<Integer>> result = partitioned(list, 10).collect(Collectors.toList());
44+
var result = partitioned(list, 10).toList();
4545

4646
assertThat(result)
4747
.hasSize(5)
@@ -51,15 +51,29 @@ void shouldSplitInNSingletonLists() {
5151

5252
@Test
5353
void shouldReturnNestedListIfOneBatch() {
54-
List<Integer> list = Stream.generate(() -> 42).limit(10).collect(Collectors.toList());
54+
var list = IntStream.range(0, 10).boxed().toList();
5555

56-
List<List<Integer>> result = partitioned(list, 1).collect(Collectors.toList());
56+
var result = partitioned(list, 1).toList();
5757

58-
assertThat(result.get(0)).containsExactlyElementsOf(list);
58+
assertThat(result.getFirst()).containsExactlyElementsOf(list);
5959
}
6060

6161
@Test
6262
void shouldReturnEmptyIfZeroParts() {
6363
assertThatThrownBy(() -> partitioned(Arrays.asList(1, 2, 3), 0).collect(Collectors.toList()));
6464
}
65+
66+
@Test
67+
void shouldReportCorrectSizeWhenOneBatch() {
68+
var list = IntStream.range(0, 10).boxed().toList();
69+
70+
assertThat(partitioned(list, 1).count()).isEqualTo(1);
71+
}
72+
73+
@Test
74+
void shouldReportCorrectSizeWhenMultipleBatches() {
75+
var list = IntStream.range(0, 10).boxed().toList();
76+
77+
assertThat(partitioned(list, 2).count()).isEqualTo(2);
78+
}
6579
}

0 commit comments

Comments
 (0)