30 lines
1006 B
Kotlin
Vendored
30 lines
1006 B
Kotlin
Vendored
package foo
|
|
|
|
fun box(): String {
|
|
val testInput = "test data\t1foo 2 bar"
|
|
val tests = arrayOf(
|
|
" " to arrayOf("test", "data\t1foo", "", "2", "bar"),
|
|
"\\s+" to arrayOf("test", "data", "1foo", "2", "bar"),
|
|
"[sd]" to arrayOf("te", "t ", "ata\t1foo 2 bar"),
|
|
"[\\d]" to arrayOf("test data\t", "foo ", " bar")
|
|
)
|
|
|
|
for (test in tests) {
|
|
val regexp = test.first
|
|
val expected = test.second
|
|
val result = testInput.splitWithRegex(regexp)
|
|
|
|
if (result.asList() != expected.asList()) return "Wrong result for '$regexp' -- Expected: $expected | Actual: $result"
|
|
}
|
|
|
|
for (test in tests) {
|
|
val regexp = test.first
|
|
val limit = 2
|
|
val expected = Array(limit) { test.second[it] }
|
|
val result = testInput.splitWithRegex(regexp, limit)
|
|
|
|
if (result.asList() != expected.asList()) return "Wrong result for '$regexp' -- Expected: $expected | Actual: $result"
|
|
}
|
|
|
|
return "OK"
|
|
} |