Lines Matching refs:spliterator

43     public static <T> void runBasicIterationTests(Spliterator<T> spliterator,
49 boolean didAdvance = spliterator.tryAdvance(consumer);
53 spliterator.forEachRemaining(consumer);
56 // There should be no more elements remaining in this spliterator.
57 assertFalse(spliterator.tryAdvance(consumer));
58 spliterator.forEachRemaining((T) -> fail());
61 public static <T> void runBasicIterationTests_unordered(Spliterator<T> spliterator,
68 assertFalse(spliterator.tryAdvance(consumer));
70 assertTrue(spliterator.tryAdvance(consumer));
75 spliterator.forEachRemaining(consumer);
80 // There should be no more elements remaining in this spliterator.
81 assertFalse(spliterator.tryAdvance(consumer));
82 spliterator.forEachRemaining((T) -> fail());
86 Spliterator<T> spliterator, ArrayList<T> recorder) {
87 spliterator.tryAdvance(value -> recorder.add(value));
88 spliterator.forEachRemaining(value -> recorder.add(value));
90 // There shouldn't be any elements left in the spliterator.
91 assertFalse(spliterator.tryAdvance(value -> recorder.add(value)));
92 spliterator.tryAdvance(value -> fail());
95 assertNull(spliterator.trySplit());
98 public static void testSpliteratorNPE(Spliterator<?> spliterator) {
100 spliterator.tryAdvance(null);
106 spliterator.forEachRemaining(null);
117 public static <T> void runBasicSplitTests(Spliterator<T> spliterator,
122 // Advance the original spliterator by one element.
123 boolean didAdvance = spliterator.tryAdvance(value -> recorder.add(value));
127 Spliterator<T> split1 = spliterator.trySplit();
146 Spliterator<T> split2 = spliterator.trySplit();
151 // Record all remaining elements of the original spliterator.
152 recordAndAssertBasicIteration(spliterator, recorder);
160 assertNotNull(spliterable.spliterator().trySplit());
168 * are no demands about when the spliterator can or cannot split itself. In general, this
175 runBasicSplitTests(spliterable.spliterator(), expectedElements, comparator);
186 private static<T> List<T> toList(Spliterator<T> spliterator) {
188 spliterator.forEachRemaining(value -> result.add(value));
193 List<T> elements = toList(spliterable.spliterator());
194 assertEquals("Ordering should be consistent", elements, toList(spliterable.spliterator()));
197 // assertTrue(spliterable.spliterator().hasCharacteristics(ORDERED));
206 Spliterator<T> sa = spliterable.spliterator();
207 Spliterator<T> sb = spliterable.spliterator();
234 public static <T> void runSizedTests(Spliterator<T> spliterator, int expectedSize) {
235 assertHasCharacteristics(SIZED, spliterator);
236 assertEquals(expectedSize, spliterator.estimateSize());
237 assertEquals(expectedSize, spliterator.getExactSizeIfKnown());
241 runSizedTests(spliterable.spliterator(), expectedSize);
249 public static <T> void runSubSizedTests(Spliterator<T> spliterator, int expectedSize) {
250 assertHasCharacteristics(SIZED | SUBSIZED, spliterator);
251 assertEquals(expectedSize, spliterator.estimateSize());
252 assertEquals(expectedSize, spliterator.getExactSizeIfKnown());
254 Spliterator<T> child = spliterator.trySplit();
255 assertHasCharacteristics(SIZED | SUBSIZED, spliterator);
258 assertEquals(expectedSize, spliterator.estimateSize());
259 assertEquals(expectedSize, spliterator.getExactSizeIfKnown());
262 assertEquals(expectedSize, spliterator.estimateSize() + child.estimateSize());
264 spliterator.getExactSizeIfKnown() + child.getExactSizeIfKnown());
269 runSubSizedTests(spliterable.spliterator(), expectedSize);
276 Spliterator<T> spliterator = spliterable.spliterator();
277 Spliterator<T> split1 = spliterator.trySplit();
279 // First test that iterating via the spliterator using forEachRemaining
281 spliterator.forEachRemaining(value -> { distinct.add(value); allElements.add(value); });
290 spliterator = spliterable.spliterator();
291 split1 = spliterator.trySplit();
294 while (spliterator.tryAdvance(value -> { distinct.add(value); allElements.add(value); })) {
307 Spliterator<T> spliterator = spliterable.spliterator();
308 Spliterator<T> split1 = spliterator.trySplit();
311 spliterator.forEachRemaining(value -> elements.add(value));
330 Spliterator<?> spliterator) {
331 int actualCharacteristics = spliterator.characteristics();
335 assertTrue(msg, spliterator.hasCharacteristics(expectedCharacteristics));