Added tests for stdlib Array constructors

This commit is contained in:
Denis Zharkov
2014-12-08 20:39:10 +03:00
committed by Alexander Udalov
parent fe9599d588
commit c6d6aebd2f
3 changed files with 66 additions and 0 deletions
@@ -0,0 +1,25 @@
import kotlin.test.assertEquals
fun simpleIntArray(): Array<Int> = Array(3) { it }
fun simpleDoubleArray(): Array<Double> = Array(3) { it.toDouble() + 0.1 }
fun simpleStringArray(): Array<String> = Array(3) { it.toString() }
fun box(): String {
val ia = simpleIntArray()
assertEquals(0, ia[0])
assertEquals(1, ia[1])
assertEquals(2, ia[2])
val da = simpleDoubleArray()
assertEquals(0.1, da[0])
assertEquals(1.1, da[1])
assertEquals(2.1, da[2])
val sa = simpleStringArray()
assertEquals("0", sa[0])
assertEquals("1", sa[1])
assertEquals("2", sa[2])
return "OK"
}
@@ -0,0 +1,29 @@
import kotlin.test.assertEquals
fun stringMultiArray(): Array<Array<String>> = Array(3) {
i -> Array(3) { j -> "$i-$j" }
}
fun stringNullableMultiArray(): Array<Array<String?>> = Array(3) {
i -> if (i == 1) Array(3) { j -> "$i-$j" } as Array<String?> else arrayOfNulls<String>(3)
}
fun box(): String {
val matrix = stringMultiArray()
for (i in 0..2) {
for (j in 0..2) {
assertEquals("$i-$j", matrix[i][j], "matrix")
}
}
val matrixNullable = stringNullableMultiArray()
for (j in 0..2) {
assertEquals(null, matrixNullable[0][j], "nullable")
assertEquals("1-$j", matrixNullable[1][j], "nullable")
assertEquals(null, matrixNullable[2][j], "nullable")
}
return "OK"
}