tests: Copy stdlib tests from Kotlin/JVM
This patch copies Kotlin/JVM stdlib tests (libraries/stdlib/test) excepting ones with explicit java dependencies. It also transforms the tests to use them as box-tests.
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
import kotlin.test.*
|
||||
|
||||
val data = listOf("foo", "bar")
|
||||
val empty = listOf<String>()
|
||||
|
||||
fun box() {
|
||||
assertEquals("[foo, bar]", data.toString())
|
||||
}
|
||||
|
||||
fun tail() {
|
||||
val data = listOf("foo", "bar", "whatnot")
|
||||
val actual = data.drop(1)
|
||||
assertEquals(listOf("bar", "whatnot"), actual)
|
||||
}
|
||||
|
||||
fun slice() {
|
||||
val list = listOf('A', 'B', 'C', 'D')
|
||||
// ABCD
|
||||
// 0123
|
||||
assertEquals(listOf('B', 'C', 'D'), list.slice(1..3))
|
||||
assertEquals(listOf('D', 'C', 'B'), list.slice(3 downTo 1))
|
||||
|
||||
val iter = listOf(2, 0, 3)
|
||||
assertEquals(listOf('C', 'A', 'D'), list.slice(iter))
|
||||
}
|
||||
|
||||
fun getOr() {
|
||||
expect("foo") { data.get(0) }
|
||||
expect("bar") { data.get(1) }
|
||||
assertFails { data.get(2) }
|
||||
assertFails { data.get(-1) }
|
||||
assertFails { empty.get(0) }
|
||||
|
||||
expect("foo") { data.getOrElse(0, { "" }) }
|
||||
expect("zoo") { data.getOrElse(-1, { "zoo" }) }
|
||||
expect("zoo") { data.getOrElse(2, { "zoo" }) }
|
||||
expect("zoo") { empty.getOrElse(0) { "zoo" } }
|
||||
|
||||
expect(null) { empty.getOrNull(0) }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import kotlin.test.*
|
||||
|
||||
val data = listOf("foo", "bar")
|
||||
val empty = listOf<String>()
|
||||
|
||||
fun box() {
|
||||
expect("foo") { data.get(0) }
|
||||
expect("bar") { data.get(1) }
|
||||
assertFails { data.get(2) }
|
||||
assertFails { data.get(-1) }
|
||||
assertFails { empty.get(0) }
|
||||
|
||||
expect("foo") { data.getOrElse(0, { "" }) }
|
||||
expect("zoo") { data.getOrElse(-1, { "zoo" }) }
|
||||
expect("zoo") { data.getOrElse(2, { "zoo" }) }
|
||||
expect("zoo") { empty.getOrElse(0) { "zoo" } }
|
||||
|
||||
expect(null) { empty.getOrNull(0) }
|
||||
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import kotlin.test.*
|
||||
|
||||
val data = listOf("foo", "bar")
|
||||
val empty = listOf<String>()
|
||||
fun box() {
|
||||
expect(-1) { data.indexOfLast { it.contains("p") } }
|
||||
expect(1) { data.indexOfLast { it.length == 3 } }
|
||||
expect(-1) { empty.indexOfLast { it.startsWith('f') } }
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
import kotlin.test.*
|
||||
|
||||
val data = listOf("foo", "bar")
|
||||
val empty = listOf<String>()
|
||||
fun box() {
|
||||
assertEquals(-1, empty.lastIndex)
|
||||
assertEquals(1, data.lastIndex)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
import kotlin.test.*
|
||||
|
||||
fun box() {
|
||||
val items = listOf("beverage", "location", "name")
|
||||
|
||||
var list = listOf<String>()
|
||||
for (item in items) {
|
||||
list += item
|
||||
}
|
||||
|
||||
assertEquals(3, list.size)
|
||||
assertEquals("beverage,location,name", list.joinToString(","))
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import kotlin.test.*
|
||||
|
||||
|
||||
fun box() {
|
||||
val list = listOf('A', 'B', 'C', 'D')
|
||||
// ABCD
|
||||
// 0123
|
||||
assertEquals(listOf('B', 'C', 'D'), list.slice(1..3))
|
||||
assertEquals(listOf('D', 'C', 'B'), list.slice(3 downTo 1))
|
||||
|
||||
val iter = listOf(2, 0, 3)
|
||||
assertEquals(listOf('C', 'A', 'D'), list.slice(iter))
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import kotlin.test.*
|
||||
|
||||
|
||||
fun box() {
|
||||
val data = listOf("foo", "bar", "whatnot")
|
||||
val actual = data.drop(1)
|
||||
assertEquals(listOf("bar", "whatnot"), actual)
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
import kotlin.test.*
|
||||
|
||||
fun box() {
|
||||
assertEquals("[null]", listOf<String?>(null).toString())
|
||||
}
|
||||
Reference in New Issue
Block a user