stdlib: Pair and Triple .toList()

This commit is contained in:
Ilya Ryzhenkov
2015-01-13 19:58:24 +03:00
parent 95d4accda7
commit 3a9e41f2d7
2 changed files with 22 additions and 0 deletions
@@ -26,6 +26,11 @@ public data class Pair<out A, out B>(
public override fun toString(): String = "($first, $second)"
}
/**
* Converts pair into a list
*/
public fun <T> Pair<T, T>.toList(): List<T> = listOf(first, second)
/**
* Represents a triad of values
*
@@ -49,3 +54,8 @@ public data class Triple<out A, out B, out C>(
*/
public override fun toString(): String = "($first, $second, $third)"
}
/**
* Converts triple into a list
*/
public fun <T> Triple<T, T, T>.toList(): List<T> = listOf(first, second, third)
+12
View File
@@ -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())
}
}