groovy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sun...@apache.org
Subject groovy git commit: GROOVY-8902: Add method `mapAll` to tuples(closes #832)
Date Sat, 24 Nov 2018 16:47:49 GMT
Repository: groovy
Updated Branches:
  refs/heads/master 885d8f7ec -> 374c8ee0c


GROOVY-8902: Add method `mapAll` to tuples(closes #832)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/374c8ee0
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/374c8ee0
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/374c8ee0

Branch: refs/heads/master
Commit: 374c8ee0c21f0ad27cf3a40d339bfe160cdb6aee
Parents: 885d8f7
Author: Daniel Sun <sunlan@apache.org>
Authored: Sun Nov 25 00:47:40 2018 +0800
Committer: Daniel Sun <sunlan@apache.org>
Committed: Sun Nov 25 00:47:40 2018 +0800

----------------------------------------------------------------------
 src/main/groovy/groovy/lang/Tuple0.java  | 11 ++++++++
 src/main/groovy/groovy/lang/Tuple1.java  |  7 +++++
 src/main/groovy/groovy/lang/Tuple10.java | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple11.java | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple12.java | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple13.java | 13 +++++++++
 src/main/groovy/groovy/lang/Tuple14.java | 13 +++++++++
 src/main/groovy/groovy/lang/Tuple15.java | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple16.java | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple2.java  | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple3.java  | 13 +++++++++
 src/main/groovy/groovy/lang/Tuple4.java  | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple5.java  | 15 +++++++++++
 src/main/groovy/groovy/lang/Tuple6.java  | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple7.java  | 16 +++++++++++
 src/main/groovy/groovy/lang/Tuple8.java  | 14 ++++++++++
 src/main/groovy/groovy/lang/Tuple9.java  | 14 ++++++++++
 src/test/groovy/lang/TupleTest.java      | 38 +++++++++++++++++++++++++++
 18 files changed, 266 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple0.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple0.java b/src/main/groovy/groovy/lang/Tuple0.java
index 10bc91a..f46c8f9 100644
--- a/src/main/groovy/groovy/lang/Tuple0.java
+++ b/src/main/groovy/groovy/lang/Tuple0.java
@@ -178,6 +178,17 @@ public final class Tuple0 extends Tuple {
         return function.apply();
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <R> Tuple0 mapAll(Function0<? extends R> function) {
+        if (null != function) {
+            function.apply();
+        }
+
+        return INSTANCE;
+    }
+
     @Override
     public Tuple0 clone() {
         return INSTANCE;

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple1.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple1.java b/src/main/groovy/groovy/lang/Tuple1.java
index c76c6d2..9ecc6d0 100644
--- a/src/main/groovy/groovy/lang/Tuple1.java
+++ b/src/main/groovy/groovy/lang/Tuple1.java
@@ -216,6 +216,13 @@ public final class Tuple1<T1> extends Tuple {
         return new Tuple1<>(function.apply(v1));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1> Tuple1<U1> mapAll(Function1<? super T1, Tuple1<U1>>
function) {
+        return function.apply(v1);
+    }
+
     @Override
     public Tuple1<T1> clone() {
         return new Tuple1<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple10.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple10.java b/src/main/groovy/groovy/lang/Tuple10.java
index 6670375..55ee715 100644
--- a/src/main/groovy/groovy/lang/Tuple10.java
+++ b/src/main/groovy/groovy/lang/Tuple10.java
@@ -458,6 +458,20 @@ public final class Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
extends Tupl
         return new Tuple10<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, function.apply(v10));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10> Tuple10<U1, U2, U3, U4,
U5, U6, U7, U8, U9, U10> mapAll(Function10<? super T1, ? super T2, ? super T3, ? super
T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, Tuple10<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10> Tuple10<U1, U2, U3, U4,
U5, U6, U7, U8, U9, U10> mapAll(Function1<? super T1, ? extends U1> function1, Function1<?
super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3,
Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5>
function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ?
extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<?
super T9, ? extends U9> function9, Function1<? super T10, ? extends U10> function10)
{
+        return new Tuple10<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10));
+    }
+
     @Override
     public Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> clone() {
         return new Tuple10<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple11.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple11.java b/src/main/groovy/groovy/lang/Tuple11.java
index b160e42..96baab0 100644
--- a/src/main/groovy/groovy/lang/Tuple11.java
+++ b/src/main/groovy/groovy/lang/Tuple11.java
@@ -485,6 +485,20 @@ public final class Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
T11> extends
         return new Tuple11<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, function.apply(v11));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11> Tuple11<U1, U2,
U3, U4, U5, U6, U7, U8, U9, U10, U11> mapAll(Function11<? super T1, ? super T2, ? super
T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? super T10, ?
super T11, Tuple11<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11> Tuple11<U1, U2,
U3, U4, U5, U6, U7, U8, U9, U10, U11> mapAll(Function1<? super T1, ? extends U1>
function1, Function1<? super T2, ? extends U2> function2, Function1<? super T3, ?
extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<?
super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6,
Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8>
function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10,
? extends U10> function10, Function1<? super T11, ? extends U11> function11) {
+        return new Tuple11<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10), function11.apply(v11));
+    }
+
     @Override
     public Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> clone() {
         return new Tuple11<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple12.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple12.java b/src/main/groovy/groovy/lang/Tuple12.java
index e77aedd..7eee60e 100644
--- a/src/main/groovy/groovy/lang/Tuple12.java
+++ b/src/main/groovy/groovy/lang/Tuple12.java
@@ -513,6 +513,20 @@ public final class Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
T11, T12> ex
         return new Tuple12<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, function.apply(v12));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> Tuple12<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> mapAll(Function12<? super T1, ? super
T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ?
super T10, ? super T11, ? super T12, Tuple12<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11,
U12>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> Tuple12<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12> mapAll(Function1<? super T1, ? extends
U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super
T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<?
super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6,
Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8>
function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10,
? extends U10> function10, Function1<? super T11, ? extends U11> function11, Function1<?
super T12, ? extends U12> function12) {
+        return new Tuple12<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12));
+    }
+
     @Override
     public Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> clone() {
         return new Tuple12<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple13.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple13.java b/src/main/groovy/groovy/lang/Tuple13.java
index a6dadcb..70a5189 100644
--- a/src/main/groovy/groovy/lang/Tuple13.java
+++ b/src/main/groovy/groovy/lang/Tuple13.java
@@ -539,6 +539,19 @@ public final class Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
T11, T12, T1
         return new Tuple13<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, function.apply(v13));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> Tuple13<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> mapAll(Function13<? super T1, ?
super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super
T9, ? super T10, ? super T11, ? super T12, ? super T13, Tuple13<U1, U2, U3, U4, U5, U6,
U7, U8, U9, U10, U11, U12, U13>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> Tuple13<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13> mapAll(Function1<? super T1, ? extends
U1> function1, Function1<? super T2, ? extends U2> function2, Function1<? super
T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4, Function1<?
super T5, ? extends U5> function5, Function1<? super T6, ? extends U6> function6,
Function1<? super T7, ? extends U7> function7, Function1<? super T8, ? extends U8>
function8, Function1<? super T9, ? extends U9> function9, Function1<? super T10,
? extends U10> function10, Function1<? super T11, ? extends U11> function11, Function1<?
super T12, ? extends U12> function12, Function1<? super T13, ? extends U13> function13)
{
+        return new Tuple13<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12),
function13.apply(v13));
+    }
 
     @Override
     public Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> clone()
{

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple14.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple14.java b/src/main/groovy/groovy/lang/Tuple14.java
index 91b403f..a7c9db1 100644
--- a/src/main/groovy/groovy/lang/Tuple14.java
+++ b/src/main/groovy/groovy/lang/Tuple14.java
@@ -565,6 +565,19 @@ public final class Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
T11, T12, T1
         return new Tuple14<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13,
function.apply(v14));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> Tuple14<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> mapAll(Function14<? super T1,
? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super
T9, ? super T10, ? super T11, ? super T12, ? super T13, ? super T14, Tuple14<U1, U2, U3,
U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> Tuple14<U1,
U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14> mapAll(Function1<? super T1,
? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<?
super T3, ? extends U3> function3, Function1<? super T4, ? extends U4> function4,
Function1<? super T5, ? extends U5> function5, Function1<? super T6, ? extends U6>
function6, Function1<? super T7, ? extends U7> function7, Function1<? super T8, ?
extends U8> function8, Function1<? super T9, ? extends U9> function9, Function1<?
super T10, ? extends U10> function10, Function1<? super T11, ? extends U11> function11,
Function1<? super T12, ? extends U12> function12, Function1<? super T13, ? extends
U13> function13, Function1<? super T14, ? extends U14> function14) {
+        return new Tuple14<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12),
function13.apply(v13), function14.apply(v14));
+    }
 
     @Override
     public Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> clone()
{

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple15.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple15.java b/src/main/groovy/groovy/lang/Tuple15.java
index 7399ec8..1c3c67b 100644
--- a/src/main/groovy/groovy/lang/Tuple15.java
+++ b/src/main/groovy/groovy/lang/Tuple15.java
@@ -592,6 +592,20 @@ public final class Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
T11, T12, T1
         return new Tuple15<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13,
v14, function.apply(v15));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>
Tuple15<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15> mapAll(Function15<?
super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super
T8, ? super T9, ? super T10, ? super T11, ? super T12, ? super T13, ? super T14, ? super T15,
Tuple15<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>> function)
{
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14,
v15);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15>
Tuple15<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15> mapAll(Function1<?
super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2,
Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4>
function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ?
extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<?
super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9,
Function1<? super T10, ? extends U10> function10, Function1<? super T11, ? extends
U11> function11, Function1<? super T12, ? extends U12> function12, Function1<?
super T13, ? extends U13> function13, Function1<? super T14, ? extends U14> function14,
Function1<? super T15, ? extends U15> function15) {
+        return new Tuple15<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12),
function13.apply(v13), function14.apply(v14), function15.apply(v15));
+    }
+
     @Override
     public Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
clone() {
         return new Tuple15<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple16.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple16.java b/src/main/groovy/groovy/lang/Tuple16.java
index 22446ab..e5532fa 100644
--- a/src/main/groovy/groovy/lang/Tuple16.java
+++ b/src/main/groovy/groovy/lang/Tuple16.java
@@ -613,6 +613,20 @@ public final class Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
T11, T12, T1
         return new Tuple16<>(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13,
v14, v15, function.apply(v16));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16>
Tuple16<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16> mapAll(Function16<?
super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super
T8, ? super T9, ? super T10, ? super T11, ? super T12, ? super T13, ? super T14, ? super T15,
? super T16, Tuple16<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15,
U16>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14,
v15, v16);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16>
Tuple16<U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16> mapAll(Function1<?
super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2,
Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4>
function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ?
extends U6> function6, Function1<? super T7, ? extends U7> function7, Function1<?
super T8, ? extends U8> function8, Function1<? super T9, ? extends U9> function9,
Function1<? super T10, ? extends U10> function10, Function1<? super T11, ? extends
U11> function11, Function1<? super T12, ? extends U12> function12, Function1<?
super T13, ? extends U13> function13, Function1<? super T14, ? extends U14> function14,
Function1<? super T15, ? extends U15> function15, Function1<? super T16, ? extends
U16> function16) {
+        return new Tuple16<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9), function10.apply(v10), function11.apply(v11), function12.apply(v12),
function13.apply(v13), function14.apply(v14), function15.apply(v15), function16.apply(v16));
+    }
+
     @Override
     public Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
clone() {
         return new Tuple16<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple2.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple2.java b/src/main/groovy/groovy/lang/Tuple2.java
index 783f2a1..baeec81 100644
--- a/src/main/groovy/groovy/lang/Tuple2.java
+++ b/src/main/groovy/groovy/lang/Tuple2.java
@@ -278,6 +278,20 @@ public final class Tuple2<T1, T2> extends Tuple {
         return new Tuple2<>(v1, function.apply(v2));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2> Tuple2<U1, U2> mapAll(Function2<? super T1, ? super
T2, Tuple2<U1, U2>> function) {
+        return function.apply(v1, v2);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2> Tuple2<U1, U2> mapAll(Function1<? super T1, ? extends
U1> function1, Function1<? super T2, ? extends U2> function2) {
+        return new Tuple2<>(function1.apply(v1), function2.apply(v2));
+    }
+
     @Override
     public Tuple2<T1, T2> clone() {
         return new Tuple2<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple3.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple3.java b/src/main/groovy/groovy/lang/Tuple3.java
index 370a0cc..e7b1ead 100644
--- a/src/main/groovy/groovy/lang/Tuple3.java
+++ b/src/main/groovy/groovy/lang/Tuple3.java
@@ -282,6 +282,19 @@ public final class Tuple3<T1, T2, T3> extends Tuple {
         return new Tuple3<>(v1, v2, function.apply(v3));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3> Tuple3<U1, U2, U3> mapAll(Function3<? super
T1, ? super T2, ? super T3, Tuple3<U1, U2, U3>> function) {
+        return function.apply(v1, v2, v3);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3> Tuple3<U1, U2, U3> mapAll(Function1<? super
T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2, Function1<?
super T3, ? extends U3> function3) {
+        return new Tuple3<>(function1.apply(v1), function2.apply(v2), function3.apply(v3));
+    }
 
     @Override
     public Tuple3<T1, T2, T3> clone() {

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple4.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple4.java b/src/main/groovy/groovy/lang/Tuple4.java
index cc2b9e3..0ac5245 100644
--- a/src/main/groovy/groovy/lang/Tuple4.java
+++ b/src/main/groovy/groovy/lang/Tuple4.java
@@ -315,6 +315,20 @@ public final class Tuple4<T1, T2, T3, T4> extends Tuple {
         return new Tuple4<>(v1, v2, v3, function.apply(v4));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4> Tuple4<U1, U2, U3, U4> mapAll(Function4<?
super T1, ? super T2, ? super T3, ? super T4, Tuple4<U1, U2, U3, U4>> function) {
+        return function.apply(v1, v2, v3, v4);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4> Tuple4<U1, U2, U3, U4> mapAll(Function1<?
super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2,
Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4>
function4) {
+        return new Tuple4<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4));
+    }
+
     @Override
     public Tuple4<T1, T2, T3, T4> clone() {
         return new Tuple4<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple5.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple5.java b/src/main/groovy/groovy/lang/Tuple5.java
index cbeaf6f..e7c4f43 100644
--- a/src/main/groovy/groovy/lang/Tuple5.java
+++ b/src/main/groovy/groovy/lang/Tuple5.java
@@ -347,6 +347,21 @@ public final class Tuple5<T1, T2, T3, T4, T5> extends Tuple {
         return new Tuple5<>(v1, v2, v3, v4, function.apply(v5));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5> Tuple5<U1, U2, U3, U4, U5> mapAll(Function5<?
super T1, ? super T2, ? super T3, ? super T4, ? super T5, Tuple5<U1, U2, U3, U4, U5>>
function) {
+        return function.apply(v1, v2, v3, v4, v5);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5> Tuple5<U1, U2, U3, U4, U5> mapAll(Function1<?
super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2,
Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4>
function4, Function1<? super T5, ? extends U5> function5) {
+        return new Tuple5<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5));
+    }
+
+
     @Override
     public Tuple5<T1, T2, T3, T4, T5> clone() {
         return new Tuple5<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple6.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple6.java b/src/main/groovy/groovy/lang/Tuple6.java
index 055f41e..8c5620f 100644
--- a/src/main/groovy/groovy/lang/Tuple6.java
+++ b/src/main/groovy/groovy/lang/Tuple6.java
@@ -379,6 +379,20 @@ public final class Tuple6<T1, T2, T3, T4, T5, T6> extends Tuple
{
         return new Tuple6<>(v1, v2, v3, v4, v5, function.apply(v6));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6> Tuple6<U1, U2, U3, U4, U5, U6> mapAll(Function6<?
super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, Tuple6<U1, U2, U3,
U4, U5, U6>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6> Tuple6<U1, U2, U3, U4, U5, U6> mapAll(Function1<?
super T1, ? extends U1> function1, Function1<? super T2, ? extends U2> function2,
Function1<? super T3, ? extends U3> function3, Function1<? super T4, ? extends U4>
function4, Function1<? super T5, ? extends U5> function5, Function1<? super T6, ?
extends U6> function6) {
+        return new Tuple6<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6));
+    }
+
     @Override
     public Tuple6<T1, T2, T3, T4, T5, T6> clone() {
         return new Tuple6<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple7.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple7.java b/src/main/groovy/groovy/lang/Tuple7.java
index 95fc259..e865388 100644
--- a/src/main/groovy/groovy/lang/Tuple7.java
+++ b/src/main/groovy/groovy/lang/Tuple7.java
@@ -411,6 +411,22 @@ public final class Tuple7<T1, T2, T3, T4, T5, T6, T7> extends Tuple
{
         return new Tuple7<>(v1, v2, v3, v4, v5, v6, function.apply(v7));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7> Tuple7<U1, U2, U3, U4, U5, U6, U7>
mapAll(Function7<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6,
? super T7, Tuple7<U1, U2, U3, U4, U5, U6, U7>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7> Tuple7<U1, U2, U3, U4, U5, U6, U7>
mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super T2, ? extends
U2> function2, Function1<? super T3, ? extends U3> function3, Function1<? super
T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5, Function1<?
super T6, ? extends U6> function6, Function1<? super T7, ? extends U7> function7)
{
+        return new Tuple7<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7));
+    }
+
+
+
     @Override
     public Tuple7<T1, T2, T3, T4, T5, T6, T7> clone() {
         return new Tuple7<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple8.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple8.java b/src/main/groovy/groovy/lang/Tuple8.java
index e672b24..a1e8a03 100644
--- a/src/main/groovy/groovy/lang/Tuple8.java
+++ b/src/main/groovy/groovy/lang/Tuple8.java
@@ -443,6 +443,20 @@ public final class Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> extends
Tuple {
         return new Tuple8<>(v1, v2, v3, v4, v5, v6, v7, function.apply(v8));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8> Tuple8<U1, U2, U3, U4, U5, U6,
U7, U8> mapAll(Function8<? super T1, ? super T2, ? super T3, ? super T4, ? super T5,
? super T6, ? super T7, ? super T8, Tuple8<U1, U2, U3, U4, U5, U6, U7, U8>> function)
{
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8> Tuple8<U1, U2, U3, U4, U5, U6,
U7, U8> mapAll(Function1<? super T1, ? extends U1> function1, Function1<? super
T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3, Function1<?
super T4, ? extends U4> function4, Function1<? super T5, ? extends U5> function5,
Function1<? super T6, ? extends U6> function6, Function1<? super T7, ? extends U7>
function7, Function1<? super T8, ? extends U8> function8) {
+        return new Tuple8<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8));
+    }
+
     @Override
     public Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> clone() {
         return new Tuple8<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/main/groovy/groovy/lang/Tuple9.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple9.java b/src/main/groovy/groovy/lang/Tuple9.java
index dada7b0..ab8b39b 100644
--- a/src/main/groovy/groovy/lang/Tuple9.java
+++ b/src/main/groovy/groovy/lang/Tuple9.java
@@ -476,6 +476,20 @@ public final class Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> extends
Tuple {
         return new Tuple9<>(v1, v2, v3, v4, v5, v6, v7, v8, function.apply(v9));
     }
 
+    /**
+     * Maps the attributes of this tuple using a mapper function.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9> Tuple9<U1, U2, U3, U4, U5,
U6, U7, U8, U9> mapAll(Function9<? super T1, ? super T2, ? super T3, ? super T4, ? super
T5, ? super T6, ? super T7, ? super T8, ? super T9, Tuple9<U1, U2, U3, U4, U5, U6, U7,
U8, U9>> function) {
+        return function.apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
+    }
+
+    /**
+     * Maps the attributes of this tuple using mapper functions.
+     */
+    public final <U1, U2, U3, U4, U5, U6, U7, U8, U9> Tuple9<U1, U2, U3, U4, U5,
U6, U7, U8, U9> mapAll(Function1<? super T1, ? extends U1> function1, Function1<?
super T2, ? extends U2> function2, Function1<? super T3, ? extends U3> function3,
Function1<? super T4, ? extends U4> function4, Function1<? super T5, ? extends U5>
function5, Function1<? super T6, ? extends U6> function6, Function1<? super T7, ?
extends U7> function7, Function1<? super T8, ? extends U8> function8, Function1<?
super T9, ? extends U9> function9) {
+        return new Tuple9<>(function1.apply(v1), function2.apply(v2), function3.apply(v3),
function4.apply(v4), function5.apply(v5), function6.apply(v6), function7.apply(v7), function8.apply(v8),
function9.apply(v9));
+    }
+
     @Override
     public Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> clone() {
         return new Tuple9<>(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/374c8ee0/src/test/groovy/lang/TupleTest.java
----------------------------------------------------------------------
diff --git a/src/test/groovy/lang/TupleTest.java b/src/test/groovy/lang/TupleTest.java
index 1e49736..0a84ca3 100644
--- a/src/test/groovy/lang/TupleTest.java
+++ b/src/test/groovy/lang/TupleTest.java
@@ -624,4 +624,42 @@ 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));
+
+    }
 }


Mime
View raw message