Reformat stdlib tests and samples

#KT-5558
This commit is contained in:
Ilya Gorbunov
2018-04-23 16:18:24 +03:00
parent add09e0f2e
commit ecf0d7ec0d
39 changed files with 389 additions and 284 deletions
+1 -1
View File
@@ -187,7 +187,7 @@ class RegexTest {
@Test fun replaceEvaluator() {
val input = "/12/456/7890/"
val pattern = "\\d+".toRegex()
assertEquals("/2/3/4/", pattern.replace(input, { it.value.length.toString() } ))
assertEquals("/2/3/4/", pattern.replace(input, { it.value.length.toString() }))
}
@@ -157,24 +157,30 @@ class StringNumberConversionTest {
internal fun doubleTotalOrderEquals(a: Double?, b: Double?): Boolean = (a as Any?) == b
internal fun <T : Any> compareConversion(convertOrFail: (String) -> T,
convertOrNull: (String) -> T?,
equality: (T, T?) -> Boolean = { a, b -> a == b },
assertions: ConversionContext<T>.() -> Unit) {
internal fun <T : Any> compareConversion(
convertOrFail: (String) -> T,
convertOrNull: (String) -> T?,
equality: (T, T?) -> Boolean = { a, b -> a == b },
assertions: ConversionContext<T>.() -> Unit
) {
ConversionContext(convertOrFail, convertOrNull, equality).assertions()
}
internal fun <T : Any> compareConversionWithRadix(convertOrFail: String.(Int) -> T,
convertOrNull: String.(Int) -> T?,
assertions: ConversionWithRadixContext<T>.() -> Unit) {
internal fun <T : Any> compareConversionWithRadix(
convertOrFail: String.(Int) -> T,
convertOrNull: String.(Int) -> T?,
assertions: ConversionWithRadixContext<T>.() -> Unit
) {
ConversionWithRadixContext(convertOrFail, convertOrNull).assertions()
}
internal class ConversionContext<T: Any>(val convertOrFail: (String) -> T,
val convertOrNull: (String) -> T?,
val equality: (T, T?) -> Boolean) {
internal class ConversionContext<T : Any>(
val convertOrFail: (String) -> T,
val convertOrNull: (String) -> T?,
val equality: (T, T?) -> Boolean
) {
private fun assertEquals(expected: T, actual: T?, input: String, operation: String) {
assertTrue(equality(expected, actual), "Expected $operation('$input') to produce $expected but was $actual")
@@ -191,8 +197,10 @@ internal class ConversionContext<T: Any>(val convertOrFail: (String) -> T,
}
}
internal class ConversionWithRadixContext<T: Any>(val convertOrFail: (String, Int) -> T,
val convertOrNull: (String, Int) -> T?) {
internal class ConversionWithRadixContext<T : Any>(
val convertOrFail: (String, Int) -> T,
val convertOrNull: (String, Int) -> T?
) {
fun assertProduces(radix: Int, input: String, output: T) {
assertEquals(output, convertOrFail(input.removeLeadingPlusOnJava6(), radix))
assertEquals(output, convertOrNull(input, radix))
+41 -32
View File
@@ -21,8 +21,9 @@ fun withOneCharSequenceArg(f: ((String) -> CharSequence) -> Unit) {
for (arg1Builder in charSequenceBuilders) f(arg1Builder)
}
fun withOneCharSequenceArg(arg1: String, f: (CharSequence) -> Unit)
= withOneCharSequenceArg { arg1Builder -> f(arg1Builder(arg1)) }
fun withOneCharSequenceArg(arg1: String, f: (CharSequence) -> Unit) {
withOneCharSequenceArg { arg1Builder -> f(arg1Builder(arg1)) }
}
fun withTwoCharSequenceArgs(f: ((String) -> CharSequence, (String) -> CharSequence) -> Unit) {
for (arg1Builder in charSequenceBuilders)
@@ -35,6 +36,7 @@ fun assertContentEquals(expected: String, actual: CharSequence, message: String?
}
// helper predicates available on both platforms
fun Char.isAsciiDigit() = this in '0'..'9'
fun Char.isAsciiLetter() = this in 'A'..'Z' || this in 'a'..'z'
fun Char.isAsciiUpperCase() = this in 'A'..'Z'
@@ -55,8 +57,7 @@ class StringTest {
val value = case.value?.let { arg1(it) }
assertEquals(case.isNull || case.isEmpty, value.isNullOrEmpty(), "failed for case '$value'")
assertEquals(case.isNull || case.isBlank, value.isNullOrBlank(), "failed for case '$value'")
if (value != null)
{
if (value != null) {
assertEquals(case.isEmpty, value.isEmpty(), "failed for case '$value'")
assertEquals(case.isBlank, value.isBlank(), "failed for case '$value'")
}
@@ -116,7 +117,7 @@ class StringTest {
@Test fun endsWithStringForCharSequence() = withTwoCharSequenceArgs { arg1, arg2 ->
fun String.endsWithCs(suffix: String, ignoreCase: Boolean = false): Boolean =
arg1(this).endsWith(arg2(suffix), ignoreCase)
assertTrue("abcd".endsWithCs("d"))
assertTrue("abcd".endsWithCs("abcd"))
assertFalse("abcd".endsWithCs("b"))
@@ -265,7 +266,7 @@ class StringTest {
assertContentEquals("sae text", s.removeRange(2, 5))
assertContentEquals("sa text", s.removeRange(2..5))
assertContentEquals(s.toString(), s.removeRange(2,2))
assertContentEquals(s.toString(), s.removeRange(2, 2))
// symmetry with indices
assertContentEquals("", s.removeRange(s.indices))
@@ -337,7 +338,7 @@ class StringTest {
@Test fun stringIterator() = withOneCharSequenceArg("239") { data ->
var sum = 0
for(c in data)
for (c in data)
sum += (c - '0')
assertTrue(sum == 14)
}
@@ -358,8 +359,8 @@ class StringTest {
assertContentEquals("a", "\ra".trimStartCS())
assertContentEquals("a", "\na".trimStartCS())
assertContentEquals("a=", arg1("-=-=a=").trimStart('-','='))
assertContentEquals("123a", arg1("ab123a").trimStart { !it.isAsciiDigit() })
assertContentEquals("a=", arg1("-=-=a=").trimStart('-', '='))
assertContentEquals("123a", arg1("ab123a").trimStart { !it.isAsciiDigit() })
}
@Test fun trimEnd() = withOneCharSequenceArg { arg1 ->
@@ -378,20 +379,21 @@ class StringTest {
assertContentEquals("a", "a\r".trimEndCS())
assertContentEquals("a", "a\n".trimEndCS())
assertContentEquals("=a", arg1("=a=-=-").trimEnd('-','='))
assertContentEquals("=a", arg1("=a=-=-").trimEnd('-', '='))
assertContentEquals("ab123", arg1("ab123a").trimEnd { !it.isAsciiDigit() })
}
@Test fun trimStartAndEnd() = withOneCharSequenceArg { arg1 ->
val examples = arrayOf("a",
" a ",
" a ",
" a b ",
"\ta\tb\t",
"\t\ta\t\t",
"\ra\r",
"\na\n",
" \u00A0 a \u00A0 "
val examples = arrayOf(
"a",
" a ",
" a ",
" a b ",
"\ta\tb\t",
"\t\ta\t\t",
"\ra\r",
"\na\n",
" \u00A0 a \u00A0 "
)
for ((source, example) in examples.map { it to arg1(it) }) {
@@ -399,8 +401,9 @@ class StringTest {
assertContentEquals(source.trimStart().trimEnd(), example.trim())
}
val examplesForPredicate = arrayOf("123",
"-=123=-"
val examplesForPredicate = arrayOf(
"123",
"-=123=-"
)
val trimChars = charArrayOf('-', '=')
@@ -676,9 +679,15 @@ class StringTest {
assertEquals(2, string.lastIndexOf('e', 3, ignoreCase = true))
for (startIndex in -1..string.length+1){
assertEquals(string.indexOfAny(charArrayOf('e'), startIndex, ignoreCase = true), string.indexOf('E', startIndex, ignoreCase = true))
assertEquals(string.lastIndexOfAny(charArrayOf('E'), startIndex, ignoreCase = true), string.lastIndexOf('e', startIndex, ignoreCase = true))
for (startIndex in -1..string.length + 1) {
assertEquals(
string.indexOfAny(charArrayOf('e'), startIndex, ignoreCase = true),
string.indexOf('E', startIndex, ignoreCase = true)
)
assertEquals(
string.lastIndexOfAny(charArrayOf('E'), startIndex, ignoreCase = true),
string.lastIndexOf('e', startIndex, ignoreCase = true)
)
}
}
@@ -738,8 +747,8 @@ class StringTest {
@Test fun replaceFirst() {
val input = "AbbabA"
assertEquals("Abb${'$'}bA", input.replaceFirst('a','$'))
assertEquals("${'$'}bbabA", input.replaceFirst('a','$', ignoreCase = true))
assertEquals("Abb${'$'}bA", input.replaceFirst('a', '$'))
assertEquals("${'$'}bbabA", input.replaceFirst('a', '$', ignoreCase = true))
// doesn't pass in Rhino JS
// assertEquals("schrodinger", "schrÖdinger".replaceFirst('ö', 'o', ignoreCase = true))
@@ -789,8 +798,8 @@ class StringTest {
assertTrue(data === newData)
// static types test
assertStaticTypeIs<String>("x".onEach { })
assertStaticTypeIs<StringBuilder>(result.onEach { })
assertStaticTypeIs<String>("x".onEach { })
assertStaticTypeIs<StringBuilder>(result.onEach { })
}
@@ -989,7 +998,7 @@ class StringTest {
@Test fun fold() = withOneCharSequenceArg { arg1 ->
// calculate number of digits in the string
val data = arg1("a1b2c3def")
val result = data.fold(0, { digits, c -> if(c.isAsciiDigit()) digits + 1 else digits } )
val result = data.fold(0, { digits, c -> if (c.isAsciiDigit()) digits + 1 else digits })
assertEquals(3, result)
//simulate all method
@@ -1002,7 +1011,7 @@ class StringTest {
@Test fun foldRight() = withOneCharSequenceArg { arg1 ->
// calculate number of digits in the string
val data = arg1("a1b2c3def")
val result = data.foldRight(0, { c, digits -> if(c.isAsciiDigit()) digits + 1 else digits })
val result = data.foldRight(0, { c, digits -> if (c.isAsciiDigit()) digits + 1 else digits })
assertEquals(3, result)
//simulate all method
@@ -1070,8 +1079,8 @@ class StringTest {
// group characters by their case
val result = data.groupBy { it.isAsciiUpperCase() }
assertEquals(2, result.size)
assertEquals(listOf('a','b','b','a','c'), result[false])
assertEquals(listOf('A','A','B','D'), result[true])
assertEquals(listOf('a', 'b', 'b', 'a', 'c'), result[false])
assertEquals(listOf('A', 'A', 'B', 'D'), result[true])
}
@Test fun joinToString() {