test/java/util/stream/test/org/openjdk/tests/java/util/stream/GroupByOpTest.java
Print this page
rev 7597 : 8015318: Extend Collector with 'finish' operation
Reviewed-by:
Contributed-by: brian.goetz@oracle.com
@@ -34,11 +34,10 @@
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.LambdaTestHelpers;
import java.util.stream.OpTestCase;
import java.util.stream.Stream;
-import java.util.stream.StreamOpFlagTestHelper;
import java.util.stream.StreamTestDataProvider;
import java.util.stream.TestData;
import org.testng.annotations.Test;
@@ -57,17 +56,18 @@
*/
@Test
public class GroupByOpTest extends OpTestCase {
public void testBypassCollect() {
- Collector<Integer, Map<Boolean, List<Integer>>> collector
- = Collectors.groupingBy(LambdaTestHelpers.forPredicate(pEven, true, false));
+ @SuppressWarnings("unchecked")
+ Collector<Integer, Map<Boolean, List<Integer>>, Map<Boolean, List<Integer>>> collector
+ = (Collector<Integer, Map<Boolean, List<Integer>>, Map<Boolean, List<Integer>>>) Collectors.groupingBy(LambdaTestHelpers.forPredicate(pEven, true, false));
- Map<Boolean, List<Integer>> m = collector.resultSupplier().get();
+ Map<Boolean, List<Integer>> m = collector.supplier().get();
int[] ints = countTo(10).stream().mapToInt(e -> (int) e).toArray();
for (int i : ints)
- m = collector.accumulator().apply(m, i);
+ collector.accumulator().accept(m, i);
assertEquals(2, m.keySet().size());
for(Collection<Integer> group : m.values()) {
int count = 0;
Stream<Integer> stream = group.stream();
@@ -128,11 +128,11 @@
// @@@ More things to test here:
// - Every value in data is present in right bucket
// - Total number of values equals size of data
for (MapperData<Integer, ?> md : getMapperData(data)) {
- Collector<Integer, Map<Object, List<Integer>>> tab = Collectors.groupingBy(md.m);
+ Collector<Integer, ?, Map<Object, List<Integer>>> tab = Collectors.groupingBy(md.m);
Map<Object, List<Integer>> result =
withData(data)
.terminal(s -> s, s -> s.collect(tab))
.resultAsserter((act, exp, ord, par) -> {
if (par & !ord) {