Add samples for zip on sequences and strings

This commit is contained in:
Ilya Gorbunov
2018-04-19 21:16:11 +03:00
parent 2d4e591b5d
commit 0eae27e03f
5 changed files with 48 additions and 0 deletions
@@ -188,6 +188,23 @@ class Sequences {
val averagedNoPartialWindows = dataPoints.windowed(size = 4, step = 1).map { it.average() }
assertPrints(averagedNoPartialWindows.toList(), "[17.0, 19.25, 20.75, 19.75, 15.5, 12.0]")
}
@Sample
fun zip() {
val sequenceA = ('a'..'z').asSequence()
val sequenceB = generateSequence(1) { it * 2 + 1 }
assertPrints((sequenceA zip sequenceB).take(4).toList(), "[(a, 1), (b, 3), (c, 7), (d, 15)]")
}
@Sample
fun zipWithTransform() {
val sequenceA = ('a'..'z').asSequence()
val sequenceB = generateSequence(1) { it * 2 + 1 }
val result = sequenceA.zip(sequenceB) { a, b -> "$a/$b" }
assertPrints(result.take(4).toList(), "[a/1, b/3, c/7, d/15]")
}
}
}
@@ -71,6 +71,21 @@ class Strings {
assertPrints(proteins.take(5).toList(), "[Isoleucine, Arginine, Glycine, Arginine, Glutamine]")
}
@Sample
fun zip() {
val stringA = "abcd"
val stringB = "zyx"
assertPrints(stringA zip stringB, "[(a, z), (b, y), (c, x)]")
}
@Sample
fun zipWithTransform() {
val stringA = "abcd"
val stringB = "zyx"
val result = stringA.zip(stringB) { a, b -> "$a$b" }
assertPrints(result, "[az, by, cx]")
}
@Sample
fun stringToByteArray() {
val charset = Charsets.UTF_8