This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch GROOVY-8258
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit ffde5337d791a27aab75fe118cf5816691722e6c
Author: Daniel Sun <[email protected]>
AuthorDate: Mon Oct 5 01:02:27 2020 +0800

    GROOVY-8258: test `stream` method and tweak tests
---
 .../linq/provider/QueryableCollectionTest.groovy   | 104 +++++++++++----------
 1 file changed, 54 insertions(+), 50 deletions(-)

diff --git 
a/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/provider/QueryableCollectionTest.groovy
 
b/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/provider/QueryableCollectionTest.groovy
index be20ea6..344ffa4 100644
--- 
a/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/provider/QueryableCollectionTest.groovy
+++ 
b/subprojects/groovy-linq/src/test/groovy/org/apache/groovy/linq/provider/QueryableCollectionTest.groovy
@@ -26,21 +26,24 @@ import groovy.transform.ToString
 import org.apache.groovy.linq.Queryable
 import org.junit.Test
 
+import java.util.stream.Collectors
 import java.util.stream.Stream
 
+import static org.apache.groovy.linq.provider.QueryableCollection.from
+
 @CompileStatic
 class QueryableCollectionTest {
     @Test
     void testFrom() {
-        assert [1, 2, 3] == QueryableCollection.from(Stream.of(1, 2, 
3)).toList()
-        assert [1, 2, 3] == QueryableCollection.from(Arrays.asList(1, 2, 
3)).toList()
+        assert [1, 2, 3] == from(Stream.of(1, 2, 3)).toList()
+        assert [1, 2, 3] == from(Arrays.asList(1, 2, 3)).toList()
     }
 
     @Test
     void testInnerJoin0() {
         def nums1 = [1, 2, 3]
         def nums2 = [1, 2, 3]
-        def result = 
QueryableCollection.from(nums1).innerJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).innerJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, 1], [2, 2], [3, 3]] == result
     }
 
@@ -48,7 +51,7 @@ class QueryableCollectionTest {
     void testInnerJoin1() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).innerJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).innerJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[2, 2], [3, 3]] == result
     }
 
@@ -56,7 +59,7 @@ class QueryableCollectionTest {
     void testLeftJoin0() {
         def nums1 = [1, 2, 3]
         def nums2 = [1, 2, 3]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, 1], [2, 2], [3, 3]] == result
     }
 
@@ -64,7 +67,7 @@ class QueryableCollectionTest {
     void testRightJoin0() {
         def nums2 = [1, 2, 3]
         def nums1 = [1, 2, 3]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, 1], [2, 2], [3, 3]] == result
     }
 
@@ -72,7 +75,7 @@ class QueryableCollectionTest {
     void testLeftJoin1() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3]] == result
     }
 
@@ -80,7 +83,7 @@ class QueryableCollectionTest {
     void testRightJoin1() {
         def nums2 = [1, 2, 3]
         def nums1 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3]] == result
     }
 
@@ -88,7 +91,7 @@ class QueryableCollectionTest {
     void testLeftJoin2() {
         def nums1 = [1, 2, 3, null]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, null]] == result
     }
 
@@ -96,7 +99,7 @@ class QueryableCollectionTest {
     void testRightJoin2() {
         def nums2 = [1, 2, 3, null]
         def nums1 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3], [null, null]] == result
     }
 
@@ -104,7 +107,7 @@ class QueryableCollectionTest {
     void testLeftJoin3() {
         def nums1 = [1, 2, 3, null]
         def nums2 = [2, 3, 4, null]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, null]] == result
     }
 
@@ -112,7 +115,7 @@ class QueryableCollectionTest {
     void testRightJoin3() {
         def nums2 = [1, 2, 3, null]
         def nums1 = [2, 3, 4, null]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3], [null, null]] == result
     }
 
@@ -120,7 +123,7 @@ class QueryableCollectionTest {
     void testLeftJoin4() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4, null]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3]] == result
     }
 
@@ -128,7 +131,7 @@ class QueryableCollectionTest {
     void testRightJoin4() {
         def nums2 = [1, 2, 3]
         def nums1 = [2, 3, 4, null]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3]] == result
     }
 
@@ -136,7 +139,7 @@ class QueryableCollectionTest {
     void testLeftJoin5() {
         def nums1 = [1, 2, 3, null, null]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, null], [null, null]] == 
result
     }
 
@@ -144,7 +147,7 @@ class QueryableCollectionTest {
     void testRightJoin5() {
         def nums2 = [1, 2, 3, null, null]
         def nums1 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3], [null, null], [null, null]] == 
result
     }
 
@@ -152,7 +155,7 @@ class QueryableCollectionTest {
     void testLeftJoin6() {
         def nums1 = [1, 2, 3, null, null]
         def nums2 = [2, 3, 4, null]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, null], [null, null]] == 
result
     }
 
@@ -160,7 +163,7 @@ class QueryableCollectionTest {
     void testRightJoin6() {
         def nums2 = [1, 2, 3, null, null]
         def nums1 = [2, 3, 4, null]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3], [null, null], [null, null]] == 
result
     }
 
@@ -168,7 +171,7 @@ class QueryableCollectionTest {
     void testLeftJoin7() {
         def nums1 = [1, 2, 3, null, null]
         def nums2 = [2, 3, 4, null, null]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, null], [null, null]] == 
result
     }
 
@@ -176,7 +179,7 @@ class QueryableCollectionTest {
     void testRightJoin7() {
         def nums2 = [1, 2, 3, null, null]
         def nums1 = [2, 3, 4, null, null]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3], [null, null], [null, null]] == 
result
     }
 
@@ -184,7 +187,7 @@ class QueryableCollectionTest {
     void testLeftJoin8() {
         def nums1 = [1, 2, 3, null]
         def nums2 = [2, 3, 4, null, null]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, null]] == result
     }
 
@@ -192,7 +195,7 @@ class QueryableCollectionTest {
     void testRightJoin8() {
         def nums2 = [1, 2, 3, null]
         def nums1 = [2, 3, 4, null, null]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3], [null, null]] == result
     }
 
@@ -200,7 +203,7 @@ class QueryableCollectionTest {
     void testLeftJoin9() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4, null, null]
-        def result = 
QueryableCollection.from(nums1).leftJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).leftJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3]] == result
     }
 
@@ -208,7 +211,7 @@ class QueryableCollectionTest {
     void testRightJoin9() {
         def nums2 = [1, 2, 3]
         def nums1 = [2, 3, 4, null, null]
-        def result = 
QueryableCollection.from(nums1).rightJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).rightJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[null, 1], [2, 2], [3, 3]] == result
     }
 
@@ -216,7 +219,7 @@ class QueryableCollectionTest {
     void testFullJoin() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).fullJoin(QueryableCollection.from(nums2), (a, 
b) -> a == b).toList()
+        def result = from(nums1).fullJoin(from(nums2), (a, b) -> a == 
b).toList()
         assert [[1, null], [2, 2], [3, 3], [null, 4]] == result
     }
 
@@ -224,28 +227,28 @@ class QueryableCollectionTest {
     void testCrossJoin() {
         def nums1 = [1, 2, 3]
         def nums2 = [3, 4, 5]
-        def result = 
QueryableCollection.from(nums1).crossJoin(QueryableCollection.from(nums2)).toList()
+        def result = from(nums1).crossJoin(from(nums2)).toList()
         assert [[1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 3], [3, 
4], [3, 5]] == result
     }
 
     @Test
     void testWhere() {
         def nums = [1, 2, 3, 4, 5]
-        def result = QueryableCollection.from(nums).where(e -> e > 3).toList()
+        def result = from(nums).where(e -> e > 3).toList()
         assert [4, 5] == result
     }
 
     @Test
     void testGroupBySelect0() {
         def nums = [1, 2, 2, 3, 3, 4, 4, 5]
-        def result = QueryableCollection.from(nums).groupBy(e -> e).select(e 
-> Tuple.tuple(e.v1, e.v2.toList())).toList()
+        def result = from(nums).groupBy(e -> e).select(e -> Tuple.tuple(e.v1, 
e.v2.toList())).toList()
         assert [[1, [1]], [2, [2, 2]], [3, [3, 3]], [4, [4, 4]], [5, [5]]] == 
result
     }
 
     @Test
     void testGroupBySelect1() {
         def nums = [1, 2, 2, 3, 3, 4, 4, 5]
-        def result = QueryableCollection.from(nums).groupBy(e -> e).select(e 
-> Tuple.tuple(e.v1, e.v2.count())).toList()
+        def result = from(nums).groupBy(e -> e).select(e -> Tuple.tuple(e.v1, 
e.v2.count())).toList()
         assert [[1, 1], [2, 2], [3, 2], [4, 2], [5, 1]] == result
     }
 
@@ -253,7 +256,7 @@ class QueryableCollectionTest {
     void testGroupBySelect2() {
         def nums = [1, 2, 2, 3, 3, 4, 4, 5]
         def result =
-                QueryableCollection.from(nums).groupBy(e -> e)
+                from(nums).groupBy(e -> e)
                         .select(e ->
                                 Tuple.tuple(
                                         e.v1,
@@ -269,7 +272,7 @@ class QueryableCollectionTest {
     void testGroupBySelect3() {
         def nums = [1, 2, 2, 3, 3, 4, 4, 5]
         def result =
-                QueryableCollection.from(nums).groupBy(e -> e, (k, q) -> k > 2)
+                from(nums).groupBy(e -> e, (k, q) -> k > 2)
                         .select(e ->
                                 Tuple.tuple(
                                         e.v1,
@@ -288,25 +291,25 @@ class QueryableCollectionTest {
         Person john = new Person('John', 10)
 
         def persons = [daniel, peter, alice, john]
-        def result = QueryableCollection.from(persons).orderBy(
+        def result = from(persons).orderBy(
                 new Queryable.Order<Person, Comparable>((Person e) -> e.age, 
true),
                 new Queryable.Order<Person, Comparable>((Person e) -> e.name, 
true)
         ).toList()
         assert [john, peter, alice, daniel] == result
 
-        result = QueryableCollection.from(persons).orderBy(
+        result = from(persons).orderBy(
                 new Queryable.Order<Person, Comparable>((Person e) -> e.age, 
false),
                 new Queryable.Order<Person, Comparable>((Person e) -> e.name, 
true)
         ).toList()
         assert [daniel, alice, john, peter] == result
 
-        result = QueryableCollection.from(persons).orderBy(
+        result = from(persons).orderBy(
                 new Queryable.Order<Person, Comparable>((Person e) -> e.age, 
true),
                 new Queryable.Order<Person, Comparable>((Person e) -> e.name, 
false)
         ).toList()
         assert [peter, john, alice, daniel] == result
 
-        result = QueryableCollection.from(persons).orderBy(
+        result = from(persons).orderBy(
                 new Queryable.Order<Person, Comparable>((Person e) -> e.age, 
false),
                 new Queryable.Order<Person, Comparable>((Person e) -> e.name, 
false)
         ).toList()
@@ -316,24 +319,24 @@ class QueryableCollectionTest {
     @Test
     void testLimit() {
         def nums = [1, 2, 3, 4, 5]
-        def result = QueryableCollection.from(nums).limit(1, 2).toList()
+        def result = from(nums).limit(1, 2).toList()
         assert [2, 3] == result
 
-        result = QueryableCollection.from(nums).limit(2).toList()
+        result = from(nums).limit(2).toList()
         assert [1, 2] == result
     }
 
     @Test
     void testSelect() {
         def nums = [1, 2, 3, 4, 5]
-        def result = QueryableCollection.from(nums).select(e -> e + 1).toList()
+        def result = from(nums).select(e -> e + 1).toList()
         assert [2, 3, 4, 5, 6] == result
     }
 
     @Test
     void testDistinct() {
         def nums = [1, 2, 2, 3, 3, 2, 3, 4, 5, 5]
-        def result = QueryableCollection.from(nums).distinct().toList()
+        def result = from(nums).distinct().toList()
         assert [1, 2, 3, 4, 5] == result
     }
 
@@ -341,7 +344,7 @@ class QueryableCollectionTest {
     void testUnion() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).union(QueryableCollection.from(nums2)).toList()
+        def result = from(nums1).union(from(nums2)).toList()
         assert [1, 2, 3, 4] == result
     }
 
@@ -349,7 +352,7 @@ class QueryableCollectionTest {
     void testUnionAll() {
         def nums1 = [1, 2, 3]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).unionAll(QueryableCollection.from(nums2)).toList()
+        def result = from(nums1).unionAll(from(nums2)).toList()
         assert [1, 2, 3, 2, 3, 4] == result
     }
 
@@ -357,7 +360,7 @@ class QueryableCollectionTest {
     void testIntersect() {
         def nums1 = [1, 2, 2, 3]
         def nums2 = [2, 3, 3, 4]
-        def result = 
QueryableCollection.from(nums1).intersect(QueryableCollection.from(nums2)).toList()
+        def result = from(nums1).intersect(from(nums2)).toList()
         assert [2, 3] == result
     }
 
@@ -365,7 +368,7 @@ class QueryableCollectionTest {
     void testMinus() {
         def nums1 = [1, 1, 2, 3]
         def nums2 = [2, 3, 4]
-        def result = 
QueryableCollection.from(nums1).minus(QueryableCollection.from(nums2)).toList()
+        def result = from(nums1).minus(from(nums2)).toList()
         assert [1] == result
     }
 
@@ -374,8 +377,8 @@ class QueryableCollectionTest {
         def nums1 = [1, 2, 3, 4, 5]
         def nums2 = [0, 1, 2, 3, 4, 5, 6]
         def result =
-                QueryableCollection.from(nums1)
-                        .innerJoin(QueryableCollection.from(nums2), (a, b) -> 
a == b)
+                from(nums1)
+                        .innerJoin(from(nums2), (a, b) -> a == b)
                         .where(t -> t.v1 > 1)
                         .limit(1, 2)
                         .select(t -> t.v1 + 1)
@@ -383,11 +386,12 @@ class QueryableCollectionTest {
         assert [4, 5] == result
     }
 
-//    @Test void testIterator() {
-//        def nums = [1, 2, 3]
-//        def result = from(nums).iterator().toList()
-//        assert nums == result
-//    }
+    @Test
+    void testStream() {
+        def nums = [1, 2, 3]
+        def result = from(nums).stream().collect(Collectors.toList())
+        assert nums == result
+    }
 
     @ToString
     @EqualsAndHashCode

Reply via email to