Provide flatten for sequence of iterables.

#KT-9977
This commit is contained in:
Ilya Gorbunov
2015-11-22 12:56:05 +03:00
parent 4181142400
commit ca4bdd23e0
4 changed files with 43 additions and 51 deletions
@@ -319,8 +319,19 @@ public class SequenceTest {
}
@test fun flatten() {
val data = sequenceOf(1, 2).map { sequenceOf(0..it) }
assertEquals(listOf(0, 1, 0, 1, 2), data.flatten().toList())
val expected = listOf(0, 1, 0, 1, 2)
val seq = sequenceOf((0..1).asSequence(), (0..2).asSequence()).flatten()
assertEquals(expected, seq.toList())
val seqMappedSeq = sequenceOf(1, 2).map { (0..it).asSequence() }.flatten()
assertEquals(expected, seqMappedSeq.toList())
val seqOfIterable = sequenceOf(0..1, 0..2).flatten()
assertEquals(expected, seqOfIterable.toList())
val seqMappedIterable = sequenceOf(1, 2).map { 0..it }.flatten()
assertEquals(expected, seqMappedIterable.toList())
}
@test fun distinct() {