Add onEachIndexed similar to forEachIndexed #KT-37161

This commit is contained in:
Abduqodiri Qurbonzoda
2020-04-01 02:52:25 +03:00
parent 57d390bab0
commit 4a7b1b210a
14 changed files with 368 additions and 17 deletions
+12
View File
@@ -948,6 +948,18 @@ class StringTest {
assertStaticTypeIs<StringBuilder>(result.onEach { })
}
@Test
fun onEachIndexed() = withOneCharSequenceArg("abcd") { data ->
val result = StringBuilder()
val newData = data.onEachIndexed { i, e -> result.append(e + i) }
assertEquals("aceg", result.toString())
assertSame(data, newData)
// static types test
assertStaticTypeIs<String>("x".onEachIndexed { _, _ -> })
assertStaticTypeIs<StringBuilder>(result.onEachIndexed { _, _ -> })
}
@Test fun filter() {
assertEquals("acdca", ("abcdcba").filter { !it.equals('b') })