From 3a9e41f2d7394f2233eced0c9ca0d77af4324e62 Mon Sep 17 00:00:00 2001 From: Ilya Ryzhenkov Date: Tue, 13 Jan 2015 19:58:24 +0300 Subject: [PATCH] stdlib: Pair and Triple .toList() --- libraries/stdlib/src/kotlin/util/Tuples.kt | 10 ++++++++++ libraries/stdlib/test/TuplesTest.kt | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/libraries/stdlib/src/kotlin/util/Tuples.kt b/libraries/stdlib/src/kotlin/util/Tuples.kt index 07a34536d82..480cb47a12b 100644 --- a/libraries/stdlib/src/kotlin/util/Tuples.kt +++ b/libraries/stdlib/src/kotlin/util/Tuples.kt @@ -26,6 +26,11 @@ public data class Pair( public override fun toString(): String = "($first, $second)" } +/** + * Converts pair into a list + */ +public fun Pair.toList(): List = listOf(first, second) + /** * Represents a triad of values * @@ -49,3 +54,8 @@ public data class Triple( */ public override fun toString(): String = "($first, $second, $third)" } + +/** + * Converts triple into a list + */ +public fun Triple.toList(): List = listOf(first, second, third) diff --git a/libraries/stdlib/test/TuplesTest.kt b/libraries/stdlib/test/TuplesTest.kt index 60868864909..b61c3e1b931 100644 --- a/libraries/stdlib/test/TuplesTest.kt +++ b/libraries/stdlib/test/TuplesTest.kt @@ -44,6 +44,12 @@ class PairTest { assertEquals(2, s.size()) assertTrue(s.contains(p)) } + + test fun pairToList() { + assertEquals(listOf(1, 2), (1 to 2).toList()) + assertEquals(listOf(1, null), (1 to null).toList()) + assertEquals(listOf(1, "2"), (1 to "2").toList()) + } } class TripleTest { @@ -89,4 +95,10 @@ class TripleTest { assertEquals(2, s.size()) assertTrue(s.contains(t)) } + + test fun tripleToList() { + assertEquals(listOf(1, 2, 3), (Triple(1, 2, 3)).toList()) + assertEquals(listOf(1, null, 3), (Triple(1, null, 3)).toList()) + assertEquals(listOf(1, 2, "3"), (Triple(1, 2, "3")).toList()) + } }