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) {