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
-    }
 }

Reply via email to