Primitive array constructor-like functions with init lambda.

#KT-8831

Update testData and resolve ambiguity in newArray test
This commit is contained in:
Ilya Gorbunov
2015-12-18 02:05:04 +03:00
parent 513c4a4562
commit 03816373b3
7 changed files with 524 additions and 16 deletions
@@ -46,6 +46,14 @@ class ArraysTest {
assertEquals(expected, arr[1])
}
@test fun byteArrayInit() {
val arr = ByteArray(2) { it.toByte() }
assertEquals(2, arr.size)
assertEquals(0.toByte(), arr[0])
assertEquals(1.toByte(), arr[1])
}
@test fun shortArray() {
val arr = ShortArray(2)
@@ -55,6 +63,14 @@ class ArraysTest {
assertEquals(expected, arr[1])
}
@test fun shortArrayInit() {
val arr = ShortArray(2) { it.toShort() }
assertEquals(2, arr.size)
assertEquals(0.toShort(), arr[0])
assertEquals(1.toShort(), arr[1])
}
@test fun intArray() {
val arr = IntArray(2)
@@ -62,7 +78,15 @@ class ArraysTest {
assertEquals(0, arr[0])
assertEquals(0, arr[1])
}
@test fun intArrayInit() {
val arr = IntArray(2) { it.toInt() }
assertEquals(2, arr.size)
assertEquals(0.toInt(), arr[0])
assertEquals(1.toInt(), arr[1])
}
@test fun longArray() {
val arr = LongArray(2)
@@ -72,6 +96,14 @@ class ArraysTest {
assertEquals(expected, arr[1])
}
@test fun longArrayInit() {
val arr = LongArray(2) { it.toLong() }
assertEquals(2, arr.size)
assertEquals(0.toLong(), arr[0])
assertEquals(1.toLong(), arr[1])
}
@test fun floatArray() {
val arr = FloatArray(2)
@@ -80,6 +112,14 @@ class ArraysTest {
assertEquals(expected, arr[0])
assertEquals(expected, arr[1])
}
@test fun floatArrayInit() {
val arr = FloatArray(2) { it.toFloat() }
assertEquals(2, arr.size)
assertEquals(0.toFloat(), arr[0])
assertEquals(1.toFloat(), arr[1])
}
@test fun doubleArray() {
val arr = DoubleArray(2)
@@ -89,6 +129,14 @@ class ArraysTest {
assertEquals(0.0, arr[1])
}
@test fun doubleArrayInit() {
val arr = DoubleArray(2) { it.toDouble() }
assertEquals(2, arr.size)
assertEquals(0.toDouble(), arr[0])
assertEquals(1.toDouble(), arr[1])
}
@test fun charArray() {
val arr = CharArray(2)
@@ -98,6 +146,14 @@ class ArraysTest {
assertEquals(expected, arr[1])
}
@test fun charArrayInit() {
val arr = CharArray(2) { 'a' + it }
assertEquals(2, arr.size)
assertEquals('a', arr[0])
assertEquals('b', arr[1])
}
@test fun booleanArray() {
val arr = BooleanArray(2)
assertEquals(arr.size, 2)
@@ -105,6 +161,14 @@ class ArraysTest {
assertEquals(false, arr[1])
}
@test fun booleanArrayInit() {
val arr = BooleanArray(2) { it % 2 == 0 }
assertEquals(2, arr.size)
assertEquals(true, arr[0])
assertEquals(false, arr[1])
}
@test fun min() {
expect(null, { arrayOf<Int>().min() })
expect(1, { arrayOf(1).min() })