groovy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sun...@apache.org
Subject [1/8] groovy git commit: Move tuple improvements to its own project
Date Tue, 27 Nov 2018 13:59:19 GMT
Repository: groovy
Updated Branches:
  refs/heads/master 1606cd5b6 -> 892f67cdc


http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/test/groovy/lang/TupleTest.java
----------------------------------------------------------------------
diff --git a/src/test/groovy/lang/TupleTest.java b/src/test/groovy/lang/TupleTest.java
index 9e4e737..8f17fc2 100644
--- a/src/test/groovy/lang/TupleTest.java
+++ b/src/test/groovy/lang/TupleTest.java
@@ -19,30 +19,12 @@
 package groovy.lang;
 
 import groovy.util.GroovyTestCase;
-import groovy.util.function.Consumer0;
-import groovy.util.function.Consumer1;
-import groovy.util.function.Consumer2;
 
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
-import java.util.Optional;
 import java.util.Set;
-import java.util.TreeSet;
-import java.util.function.BiConsumer;
-import java.util.function.Consumer;
-import java.util.stream.Stream;
 
-import static groovy.lang.Tuple.collectors;
 import static groovy.lang.Tuple.tuple;
-import static java.util.stream.Collectors.averagingInt;
-import static java.util.stream.Collectors.counting;
-import static java.util.stream.Collectors.joining;
-import static java.util.stream.Collectors.mapping;
 
 /**
  * @author James Strachan
@@ -351,655 +333,6 @@ public class TupleTest extends GroovyTestCase {
         assertFalse(tuple(1, 2, 3).equals(null));
     }
 
-    public void testToMap() {
-        Map<Integer, Object> m = new LinkedHashMap<>();
-        m.put(0, 1);
-        m.put(1, "a");
-        m.put(2, null);
-        assertEquals(m, tuple(1, "a", null).toMap(i -> i));
-    }
-
-    public void testSwap() {
-        assertEquals(tuple(1, "a"), tuple("a", 1).swap());
-        assertEquals(tuple(1, "a"), tuple(1, "a").swap().swap());
-    }
-
-    public void testConcat() {
-        assertEquals(tuple(1, "a"), tuple(1).concat("a"));
-        assertEquals(tuple(1, "a", 2), tuple(1).concat("a").concat(2));
-        assertEquals(tuple(1, "a", 2, "b"), tuple(1).concat("a").concat(2).concat("b"));
-        assertEquals(tuple(1, "a", 2, "b", 3), tuple(1).concat("a").concat(2).concat("b").concat(3));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c"), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c"));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d"), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d"));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e"), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e"));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 6), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e").concat(6));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 6, "f"), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e").concat(6).concat("f"));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 6, "f", 7), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e").concat(6).concat("f").concat(7));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 6, "f", 7, "g"), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e").concat(6).concat("f").concat(7).concat("g"));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 6, "f", 7, "g", 8), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e").concat(6).concat("f").concat(7).concat("g").concat(8));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 6, "f", 7, "g", 8, "h"), tuple(1).concat("a").concat(2).concat("b").concat(3).concat("c").concat(4).concat("d").concat(5).concat("e").concat(6).concat("f").concat(7).concat("g").concat(8).concat("h"));
-
-        assertEquals(tuple(1, "a"), tuple(1).concat(tuple("a")));
-        assertEquals(tuple(1, "a", 2, "b", 3, "c", 4, "d"), tuple(1).concat(tuple("a", 2, "b").concat(tuple(3).concat(tuple("c", 4, "d")))));
-
-        assertEquals(new Integer(136), tuple().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1).concat(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2).concat(tuple(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3).concat(tuple(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4).concat(tuple(5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5).concat(tuple(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6).concat(tuple(7, 8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7).concat(tuple(8, 9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8).concat(tuple(9, 10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).concat(tuple(10, 11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).concat(tuple(11, 12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).concat(tuple(12, 13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).concat(tuple(13, 14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).concat(tuple(14, 15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).concat(tuple(15, 16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).concat(tuple(16)).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).concat(tuple()).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-
-        assertEquals(tuple(), tuple().concat(tuple()));
-        assertEquals(tuple(1), tuple(1).concat(tuple()));
-        assertEquals(tuple(1, 2), tuple(1, 2).concat(tuple()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).concat(tuple()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).concat(tuple()));
-
-    }
-
-    public void testSplitAndConcat() {
-        assertEquals(tuple(), tuple().split0().getV1().concat(tuple().split0().getV2()));
-
-        assertEquals(tuple(1), tuple(1).split0().getV1().concat(tuple(1).split0().getV2()));
-        assertEquals(tuple(1), tuple(1).split1().getV1().concat(tuple(1).split1().getV2()));
-
-        assertEquals(tuple(1, 2), tuple(1, 2).split0().getV1().concat(tuple(1, 2).split0().getV2()));
-        assertEquals(tuple(1, 2), tuple(1, 2).split1().getV1().concat(tuple(1, 2).split1().getV2()));
-        assertEquals(tuple(1, 2), tuple(1, 2).split2().getV1().concat(tuple(1, 2).split2().getV2()));
-
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).split0().getV1().concat(tuple(1, 2, 3).split0().getV2()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).split1().getV1().concat(tuple(1, 2, 3).split1().getV2()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).split2().getV1().concat(tuple(1, 2, 3).split2().getV2()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).split3().getV1().concat(tuple(1, 2, 3).split3().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).split0().getV1().concat(tuple(1, 2, 3, 4).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).split1().getV1().concat(tuple(1, 2, 3, 4).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).split2().getV1().concat(tuple(1, 2, 3, 4).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).split3().getV1().concat(tuple(1, 2, 3, 4).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).split4().getV1().concat(tuple(1, 2, 3, 4).split4().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).split0().getV1().concat(tuple(1, 2, 3, 4, 5).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).split1().getV1().concat(tuple(1, 2, 3, 4, 5).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).split2().getV1().concat(tuple(1, 2, 3, 4, 5).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).split3().getV1().concat(tuple(1, 2, 3, 4, 5).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).split4().getV1().concat(tuple(1, 2, 3, 4, 5).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).split5().getV1().concat(tuple(1, 2, 3, 4, 5).split5().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6).split6().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7).split7().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).split8().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).split9().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).split10().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split10().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split11().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).split11().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split10().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split11().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split11().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split12().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).split12().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split10().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split11().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split11().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split12().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split12().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split13().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).split13().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split10().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split11().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split11().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split12().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split12().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split13().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split13().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split14().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).split14().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split10().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split11().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split11().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split12().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split12().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split13().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split13().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split14().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split14().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split15().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).split15().getV2()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split0().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split0().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split1().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split1().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split2().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split2().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split3().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split3().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split4().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split4().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split5().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split5().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split6().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split6().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split7().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split7().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split8().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split8().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split9().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split9().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split10().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split10().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split11().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split11().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split12().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split12().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split13().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split13().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split14().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split14().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split15().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split15().getV2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split16().getV1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).split16().getV2()));
-
-    }
-
-    public void testLimitAndSkip() {
-        assertEquals(tuple(), tuple().limit0().concat(tuple().skip0()));
-
-        assertEquals(tuple(1), tuple(1).limit0().concat(tuple(1).skip0()));
-        assertEquals(tuple(1), tuple(1).limit1().concat(tuple(1).skip1()));
-
-        assertEquals(tuple(1, 2), tuple(1, 2).limit0().concat(tuple(1, 2).skip0()));
-        assertEquals(tuple(1, 2), tuple(1, 2).limit1().concat(tuple(1, 2).skip1()));
-        assertEquals(tuple(1, 2), tuple(1, 2).limit2().concat(tuple(1, 2).skip2()));
-
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).limit0().concat(tuple(1, 2, 3).skip0()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).limit1().concat(tuple(1, 2, 3).skip1()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).limit2().concat(tuple(1, 2, 3).skip2()));
-        assertEquals(tuple(1, 2, 3), tuple(1, 2, 3).limit3().concat(tuple(1, 2, 3).skip3()));
-
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).limit0().concat(tuple(1, 2, 3, 4).skip0()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).limit1().concat(tuple(1, 2, 3, 4).skip1()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).limit2().concat(tuple(1, 2, 3, 4).skip2()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).limit3().concat(tuple(1, 2, 3, 4).skip3()));
-        assertEquals(tuple(1, 2, 3, 4), tuple(1, 2, 3, 4).limit4().concat(tuple(1, 2, 3, 4).skip4()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).limit0().concat(tuple(1, 2, 3, 4, 5).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).limit1().concat(tuple(1, 2, 3, 4, 5).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).limit2().concat(tuple(1, 2, 3, 4, 5).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).limit3().concat(tuple(1, 2, 3, 4, 5).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).limit4().concat(tuple(1, 2, 3, 4, 5).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5), tuple(1, 2, 3, 4, 5).limit5().concat(tuple(1, 2, 3, 4, 5).skip5()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit0().concat(tuple(1, 2, 3, 4, 5, 6).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit1().concat(tuple(1, 2, 3, 4, 5, 6).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit2().concat(tuple(1, 2, 3, 4, 5, 6).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit3().concat(tuple(1, 2, 3, 4, 5, 6).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit4().concat(tuple(1, 2, 3, 4, 5, 6).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit5().concat(tuple(1, 2, 3, 4, 5, 6).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5, 6).limit6().concat(tuple(1, 2, 3, 4, 5, 6).skip6()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6, 7).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7).skip7()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7, 8).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8).skip8()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).skip9()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).skip10()));
-
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip10()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).limit11().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).skip11()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip10()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit11().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip11()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).limit12().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).skip12()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip10()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit11().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip11()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit12().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip12()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).limit13().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).skip13()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip10()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit11().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip11()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit12().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip12()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit13().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip13()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).limit14().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).skip14()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip10()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit11().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip11()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit12().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip12()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit13().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip13()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit14().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip14()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).limit15().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).skip15()));
-
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit0().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip0()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit1().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip1()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit2().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip2()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit3().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip3()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit4().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip4()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit5().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip5()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit6().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip6()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit7().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip7()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit8().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip8()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit9().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip9()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit10().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip10()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit11().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip11()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit12().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip12()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit13().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip13()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit14().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip14()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit15().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip15()));
-        assertEquals(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).limit16().concat(tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).skip16()));
-
-    }
-
-    public void testCompareTo() {
-        Set<Tuple2<Integer, String>> set = new TreeSet<>();
-
-        set.add(tuple(2, "a"));
-        set.add(tuple(1, "b"));
-        set.add(tuple(1, "a"));
-        set.add(tuple(2, "a"));
-
-        assertEquals(3, set.size());
-        assertEquals(Arrays.asList(tuple(1, "a"), tuple(1, "b"), tuple(2, "a")), new ArrayList<>(set));
-    }
-
-    public void testCompareToWithNulls() {
-        Set<Tuple2<Integer, String>> set = new TreeSet<>();
-
-        set.add(tuple(2, "a"));
-        set.add(tuple(1, "b"));
-        set.add(tuple(1, null));
-        set.add(tuple(null, "a"));
-        set.add(tuple(null, "b"));
-        set.add(tuple(null, null));
-
-        assertEquals(6, set.size());
-        assertEquals(Arrays.asList(tuple(1, "b"), tuple(1, null), tuple(2, "a"), tuple(null, "a"), tuple(null, "b"), tuple(null, null)), new ArrayList<>(set));
-    }
-
-    public void testIterable() {
-        LinkedList<Object> list = new LinkedList<>(tuple(1, "b", null));
-        for (Object o : tuple(1, "b", null)) {
-            assertEquals(list.poll(), o);
-        }
-    }
-
-    public void testFunctions() {
-        assertEquals("[1, b, null]", tuple(1, "b", null).map((v1, v2, v3) -> tuple(v1, v2, v3).toString()));
-        assertEquals("1-b", tuple(1, "b", null).map((v1, v2, v3) -> v1 + "-" + v2));
-    }
-
-    public void testMapN() {
-        assertEquals(tuple(1, "a", 2, "b"), tuple(1, null, 2, null).map2(v -> "a").map4(v -> "b"));
-    }
-
-    public void testOverlaps() {
-        assertTrue(Tuple2.overlaps(tuple(1, 3), tuple(1, 3)));
-        assertTrue(Tuple2.overlaps(tuple(1, 3), tuple(2, 3)));
-        assertTrue(Tuple2.overlaps(tuple(1, 3), tuple(2, 4)));
-        assertTrue(Tuple2.overlaps(tuple(1, 3), tuple(3, 4)));
-        assertFalse(Tuple2.overlaps(tuple(1, 3), tuple(4, 5)));
-        assertFalse(Tuple2.overlaps(tuple(1, 1), tuple(2, 2)));
-    }
-
-    public void testIntersect() {
-        assertEquals(Optional.of(tuple(2, 3)), Tuple2.intersect(tuple(1, 3), tuple(2, 4)));
-        assertEquals(Optional.of(tuple(3, 3)), Tuple2.intersect(tuple(1, 3), tuple(3, 5)));
-        assertEquals(Optional.empty(), Tuple2.intersect(tuple(1, 3), tuple(4, 5)));
-    }
-
-    public void testCollectors() {
-        assertEquals(
-                tuple(3L),
-                Stream.of(1, 2, 3)
-                        .collect(collectors(counting()))
-        );
-
-        assertEquals(
-                tuple(3L, "1, 2, 3"),
-                Stream.of(1, 2, 3)
-                        .collect(collectors(
-                                counting(),
-                                mapping(Object::toString, joining(", "))
-                        ))
-        );
-
-        assertEquals(
-                tuple(3L, "1, 2, 3", 2.0),
-                Stream.of(1, 2, 3)
-                        .collect(collectors(
-                                counting(),
-                                mapping(Object::toString, joining(", ")),
-                                averagingInt(Integer::intValue)
-                        ))
-        );
-    }
-
-    public void testLimit() {
-        assertEquals(
-                tuple(),
-                tuple(1, "A", 2, "B").limit0()
-        );
-        assertEquals(
-                tuple(1),
-                tuple(1, "A", 2, "B").limit1()
-        );
-        assertEquals(
-                tuple(1, "A"),
-                tuple(1, "A", 2, "B").limit2()
-        );
-        assertEquals(
-                tuple(1, "A", 2),
-                tuple(1, "A", 2, "B").limit3()
-        );
-        assertEquals(
-                tuple(1, "A", 2, "B"),
-                tuple(1, "A", 2, "B").limit4()
-        );
-    }
-
-    public void testSkip() {
-        assertEquals(
-                tuple(),
-                tuple(1, "A", 2, "B").skip4()
-        );
-        assertEquals(
-                tuple("B"),
-                tuple(1, "A", 2, "B").skip3()
-        );
-        assertEquals(
-                tuple(2, "B"),
-                tuple(1, "A", 2, "B").skip2()
-        );
-        assertEquals(
-                tuple("A", 2, "B"),
-                tuple(1, "A", 2, "B").skip1()
-        );
-        assertEquals(
-                tuple(1, "A", 2, "B"),
-                tuple(1, "A", 2, "B").skip0()
-        );
-    }
-
-    public void testSplit() {
-        assertEquals(
-                tuple(
-                        tuple(),
-                        tuple(1, "A", 2, "B")
-                ),
-                tuple(1, "A", 2, "B").split0()
-        );
-        assertEquals(
-                tuple(
-                        tuple(1),
-                        tuple("A", 2, "B")
-                ),
-                tuple(1, "A", 2, "B").split1()
-        );
-        assertEquals(
-                tuple(
-                        tuple(1, "A"),
-                        new Tuple2<>(2, "B")
-                ),
-                tuple(1, "A", 2, "B").split2()
-        );
-        assertEquals(
-                tuple(
-                        tuple(1, "A", 2),
-                        tuple("B")
-                ),
-                tuple(1, "A", 2, "B").split3()
-        );
-        assertEquals(
-                tuple(
-                        tuple(1, "A", 2, "B"),
-                        tuple()
-                ),
-                tuple(1, "A", 2, "B").split4()
-        );
-    }
-
-    int result;
-    public void testConsumers() {
-        Consumer0 c0 = () -> { result = 1; };
-        Runnable r = c0.toRunnable();
-        Consumer0 c0a = Consumer0.from(r);
-
-        result = 0;
-        c0.accept();
-        assertEquals(1, result);
-
-        result = 0;
-        c0.accept(Tuple.tuple());
-        assertEquals(1, result);
-
-        result = 0;
-        r.run();
-        assertEquals(1, result);
-
-        result = 0;
-        c0a.accept();
-        assertEquals(1, result);
-
-        Consumer1<Integer> c1 = i -> { result = i; };
-        Consumer<Integer> c1a = c1.toConsumer();
-        Consumer1<Integer> c1b = Consumer1.from(c1a);
-
-        result = 0;
-        c1.accept(1);
-        assertEquals(1, result);
-
-        result = 0;
-        c1.accept(Tuple.tuple(1));
-        assertEquals(1, result);
-
-        result = 0;
-        c1a.accept(1);
-        assertEquals(1, result);
-
-        result = 0;
-        c1b.accept(1);
-        assertEquals(1, result);
-
-        Consumer2<Integer, Integer> c2 = (i, j) -> { result = i + j; };
-        BiConsumer<Integer, Integer> c2a = c2.toBiConsumer();
-        Consumer2<Integer, Integer> c2b = Consumer2.from(c2a);
-
-        result = 0;
-        c2.accept(1, 2);
-        assertEquals(3, result);
-
-        result = 0;
-        c2.accept(Tuple.tuple(1, 2));
-        assertEquals(3, result);
-
-        result = 0;
-        c2a.accept(1, 2);
-        assertEquals(3, result);
-
-        result = 0;
-        c2b.accept(1, 2);
-        assertEquals(3, result);
-    }
-
     public void testGroovyStyleAccessor() {
         try {
             assertScript("def t = new Tuple1<String>('Daniel'); assert 'Daniel' == t.v1");
@@ -1007,80 +340,4 @@ public class TupleTest extends GroovyTestCase {
             assert false: e.getMessage();
         }
     }
-
-    public void testMapAll() {
-        assertEquals(tuple(), tuple().mapAll(() -> null));
-        assertEquals(tuple(2), tuple(1).mapAll((v1) -> tuple(v1 + 1)));
-
-        assertEquals(tuple(2, 3), tuple(1, 2).mapAll((v1, v2) -> tuple(v1 + 1, v2 + 1)));
-        assertEquals(tuple(2, 3, 4), tuple(1, 2, 3).mapAll((v1, v2, v3) -> tuple(v1 + 1, v2 + 1, v3 + 1)));
-        assertEquals(tuple(2, 3, 4, 5), tuple(1, 2, 3, 4).mapAll((v1, v2, v3, v4) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5).mapAll((v1, v2, v3, v4, v5) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6).mapAll((v1, v2, v3, v4, v5, v6) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7).mapAll((v1, v2, v3, v4, v5, v6, v7) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8).mapAll((v1, v2, v3, v4, v5, v6, v7, v8) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1, v11 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1, v11 + 1, v12 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1, v11 + 1, v12 + 1, v13 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1, v11 + 1, v12 + 1, v13 + 1, v14 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1, v11 + 1, v12 + 1, v13 + 1, v14 + 1, v15 + 1)));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).mapAll((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> tuple(v1 + 1, v2 + 1, v3 + 1, v4 + 1, v5 + 1, v6 + 1, v7 + 1, v8 + 1, v9 + 1, v10 + 1, v11 + 1, v12 + 1, v13 + 1, v14 + 1, v15 + 1, v16 + 1)));
-
-        assertEquals(tuple(2,3), tuple(1,2).mapAll(v1 -> v1 + 1, v2 -> v2 + 1));
-        assertEquals(tuple(2,3,4), tuple(1,2,3).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1));
-        assertEquals(tuple(2,3,4,5), tuple(1,2,3,4).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1));
-        assertEquals(tuple(2,3,4,5,6), tuple(1,2,3,4,5).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1));
-        assertEquals(tuple(2,3,4,5,6,7), tuple(1,2,3,4,5,6).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8), tuple(1,2,3,4,5,6,7).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9), tuple(1,2,3,4,5,6,7,8).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10), tuple(1,2,3,4,5,6,7,8,9).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11), tuple(1,2,3,4,5,6,7,8,9,10).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11,12), tuple(1,2,3,4,5,6,7,8,9,10,11).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1, v11 -> v11 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11,12,13), tuple(1,2,3,4,5,6,7,8,9,10,11,12).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1, v11 -> v11 + 1, v12 -> v12 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11,12,13,14), tuple(1,2,3,4,5,6,7,8,9,10,11,12,13).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1, v11 -> v11 + 1, v12 -> v12 + 1, v13 -> v13 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11,12,13,14,15), tuple(1,2,3,4,5,6,7,8,9,10,11,12,13,14).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1, v11 -> v11 + 1, v12 -> v12 + 1, v13 -> v13 + 1, v14 -> v14 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), tuple(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1, v11 -> v11 + 1, v12 -> v12 + 1, v13 -> v13 + 1, v14 -> v14 + 1, v15 -> v15 + 1));
-        assertEquals(tuple(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17), tuple(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16).mapAll(v1 -> v1 + 1, v2 -> v2 + 1, v3 -> v3 + 1, v4 -> v4 + 1, v5 -> v5 + 1, v6 -> v6 + 1, v7 -> v7 + 1, v8 -> v8 + 1, v9 -> v9 + 1, v10 -> v10 + 1, v11 -> v11 + 1, v12 -> v12 + 1, v13 -> v13 + 1, v14 -> v14 + 1, v15 -> v15 + 1, v16 -> v16 + 1));
-
-    }
-
-    public void testMap() {
-        assertEquals(tuple(2), tuple(1).map1(e -> e + 1));
-        assertEquals(tuple(2, 3), tuple(1, 2).map1(e -> e + 1).map2(e -> e + 1));
-        assertEquals(tuple(2, 3, 4), tuple(1, 2, 3).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5), tuple(1, 2, 3, 4).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6), tuple(1, 2, 3, 4, 5).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7), tuple(1, 2, 3, 4, 5, 6).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8), tuple(1, 2, 3, 4, 5, 6, 7).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9), tuple(1, 2, 3, 4, 5, 6, 7, 8).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1).map11(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1).map11(e -> e + 1).map12(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1).map11(e -> e + 1).map12(e -> e + 1).map13(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1).map11(e -> e + 1).map12(e -> e + 1).map13(e -> e + 1).map14(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1).map11(e -> e + 1).map12(e -> e + 1).map13(e -> e + 1).map14(e -> e + 1).map15(e -> e + 1));
-        assertEquals(tuple(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).map1(e -> e + 1).map2(e -> e + 1).map3(e -> e + 1).map4(e -> e + 1).map5(e -> e + 1).map6(e -> e + 1).map7(e -> e + 1).map8(e -> e + 1).map9(e -> e + 1).map10(e -> e + 1).map11(e -> e + 1).map12(e -> e + 1).map13(e -> e + 1).map14(e -> e + 1).map15(e -> e + 1).map16(e -> e + 1));
-
-        assertEquals(new Integer(0), tuple().map(() -> 0));
-        assertEquals(new Integer(1), tuple(1).map((v1) -> v1));
-        assertEquals(new Integer(3), tuple(1, 2).map((v1, v2) -> v1 + v2));
-        assertEquals(new Integer(6), tuple(1, 2, 3).map((v1, v2, v3) -> v1 + v2 + v3));
-        assertEquals(new Integer(10), tuple(1, 2, 3, 4).map((v1, v2, v3, v4) -> v1 + v2 + v3 + v4));
-        assertEquals(new Integer(15), tuple(1, 2, 3, 4, 5).map((v1, v2, v3, v4, v5) -> v1 + v2 + v3 + v4 + v5));
-        assertEquals(new Integer(21), tuple(1, 2, 3, 4, 5, 6).map((v1, v2, v3, v4, v5, v6) -> v1 + v2 + v3 + v4 + v5 + v6));
-        assertEquals(new Integer(28), tuple(1, 2, 3, 4, 5, 6, 7).map((v1, v2, v3, v4, v5, v6, v7) -> v1 + v2 + v3 + v4 + v5 + v6 + v7));
-        assertEquals(new Integer(36), tuple(1, 2, 3, 4, 5, 6, 7, 8).map((v1, v2, v3, v4, v5, v6, v7, v8) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8));
-        assertEquals(new Integer(45), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9).map((v1, v2, v3, v4, v5, v6, v7, v8, v9) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9));
-        assertEquals(new Integer(55), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10));
-        assertEquals(new Integer(66), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11));
-        assertEquals(new Integer(78), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12));
-        assertEquals(new Integer(91), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13));
-        assertEquals(new Integer(105), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14));
-        assertEquals(new Integer(120), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15));
-        assertEquals(new Integer(136), tuple(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).map((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -> v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16));
-
-    }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/test/org/codehaus/groovy/runtime/DefaultGroovyStaticMethodsTest.groovy
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/runtime/DefaultGroovyStaticMethodsTest.groovy b/src/test/org/codehaus/groovy/runtime/DefaultGroovyStaticMethodsTest.groovy
index daedb24..f19b8c3 100644
--- a/src/test/org/codehaus/groovy/runtime/DefaultGroovyStaticMethodsTest.groovy
+++ b/src/test/org/codehaus/groovy/runtime/DefaultGroovyStaticMethodsTest.groovy
@@ -17,10 +17,6 @@
  *  under the License.
  */
 package org.codehaus.groovy.runtime
-
-import java.util.stream.Collectors
-import java.util.stream.Stream
-
 /**
  * Tests for DefaultGroovyStaticMethods
  */
@@ -33,20 +29,4 @@ class DefaultGroovyStaticMethodsTest extends GroovyTestCase {
         assert timeMillis/1000 as int <= timeSeconds
         assert timeMillis2/1000 as int >= timeSeconds
     }
-
-    void testFirst() {
-        assert 2 == Stream.of(2, 3, 6, 5).collect(Collectors.first()).get()
-    }
-
-    void testLast() {
-        assert 5 == Stream.of(2, 3, 6, 5).collect(Collectors.last()).get()
-    }
-
-    void testFirstAndLast() {
-        Tuple2<Integer, Integer> firstAndLastTuple =
-                Stream.of(2, 3, 6, 5)
-                        .collect(Tuple.collectors(Collectors.first(), Collectors.last()))
-                        .map1(Optional::get).map2(Optional::get)
-        assert Tuple.tuple(2, 5) == firstAndLastTuple
-    }
 }


Mime
View raw message