Straighten Char-to-code and Char-to-digit conversions out #KT-23451

This commit is contained in:
Abduqodiri Qurbonzoda
2020-12-08 11:51:16 +03:00
parent 79e426270c
commit 662787b12b
17 changed files with 575 additions and 14 deletions
+9 -9
View File
@@ -908,7 +908,7 @@ class StringTest {
fun testIgnoreCase(chars: String) {
for ((i, c) in chars.withIndex()) {
val message = "Char: $c (${c.toInt()})"
val message = "Char: $c (${c.code})"
val expectOneReplaced = chars.replaceRange(i..i, "_")
val expectAllReplaced = "_".repeat(chars.length)
assertEquals(expectOneReplaced, chars.replace(c, '_'), message)
@@ -1238,7 +1238,7 @@ class StringTest {
assertEquals(listOf<Boolean>(), arg1("").map { it.isAsciiUpperCase() })
assertEquals(listOf(97, 98, 99), arg1("abc").map { it.toInt() })
assertEquals(listOf(97, 98, 99), arg1("abc").map { it.code })
}
@Test fun mapTo() = withOneCharSequenceArg { arg1 ->
@@ -1258,7 +1258,7 @@ class StringTest {
assertEquals(arrayListOf<Boolean>(), result3)
val result4 = arrayListOf<Int>()
val return4 = arg1("abc").mapTo(result4, { it.toInt() })
val return4 = arg1("abc").mapTo(result4, { it.code })
assertEquals(result4, return4)
assertEquals(arrayListOf(97, 98, 99), result4)
}
@@ -1416,18 +1416,18 @@ class StringTest {
@Test
fun runningReduce() = withOneCharSequenceArg { arg1 ->
for (size in 0 until 4) {
val expected = listOf(0, 1, 3, 6).take(size).map { it.toChar() }
val source = arg1((0.toChar() until size.toChar()).joinToString(separator = ""))
assertEquals(expected, source.runningReduce { acc, e -> acc + e.toInt() })
val expected = listOf(0, 1, 3, 6).take(size).map { Char(it) }
val source = arg1((Char(0) until Char(size)).joinToString(separator = ""))
assertEquals(expected, source.runningReduce { acc, e -> acc + e.code })
}
}
@Test
fun runningReduceIndexed() = withOneCharSequenceArg { arg1 ->
for (size in 0 until 4) {
val expected = listOf(0, 1, 6, 27).take(size).map { it.toChar() }
val source = arg1((0.toChar() until size.toChar()).joinToString(separator = ""))
assertEquals(expected, source.runningReduceIndexed { index, acc, e -> (index * (acc.toInt() + e.toInt())).toChar() })
val expected = listOf(0, 1, 6, 27).take(size).map { Char(it) }
val source = arg1((Char(0) until Char(size)).joinToString(separator = ""))
assertEquals(expected, source.runningReduceIndexed { index, acc, e -> Char(index * (acc.code + e.code)) })
}
}