Refactored tests using Array constructor:

Some moved to tests with stdlib
Some changed to use arrayOfNulls
This commit is contained in:
Denis Zharkov
2014-12-11 10:45:15 +03:00
committed by Alexander Udalov
parent abbcf61183
commit 654411a0b0
68 changed files with 266 additions and 253 deletions
@@ -5,7 +5,7 @@ fun t1 () {
}
fun t2 () {
val a2 = Array<Int>(1,{0})
val a2 = arrayOfNulls<Int>(1) as Array<Int>
a2[0] = 0 //ok
var i = a2[0] //ok
}
@@ -67,10 +67,10 @@ fun box(): String {
if (foo(boolA) != 1) return "fail boolean[]"
val cA = CharArray(1)
if (foo(cA) != 1) return "fail char[]"
val oA = Array<Any>(1) { 1 }
val oA = arrayOfNulls<Int>(1)
if (foo(oA) != 1) return "fail Any[]"
val sArray = Array<String>(0) { "" }
val sArray = arrayOfNulls<String>(0)
if (foo(sArray) != 0) return "fail String[]"
return "OK"
@@ -1,3 +1,3 @@
val <T> Array<T>.length : Int get() = this.size()
fun box() = if(Array(10, {1}).length == 10) "OK" else "fail"
fun box() = if(arrayOfNulls<Int>(10).length == 10) "OK" else "fail"
@@ -90,7 +90,7 @@ fun for_object_list(): Int {
}
fun for_str_array(): Int {
val a = Array<String>(10) {i -> "$i"}
val a = arrayOfNulls<String>(10)
var c = 0
for (i in a) {
if (c >= 5) continue
@@ -90,7 +90,7 @@ fun for_object_list(): Int {
}
fun for_str_array(): Int {
val a = Array<String>(10) {i -> "$i"}
val a = arrayOfNulls<String>(10)
var c = 0
@loop for (i in a) {
if (c >= 5) continue @loop
@@ -7,4 +7,8 @@ fun f(x: Any?): String {
return "FAIL"
}
fun box(): String = f(Array<String>(1, {"OK"}))
fun box(): String {
val a = arrayOfNulls<String>(1) as Array<String>
a[0] = "OK"
return f(a)
}
@@ -1,11 +1,11 @@
fun box() : String {
val a = Array<Int> (5, {0})
val a = arrayOfNulls<Int>(5)
var i = 0
var sum = 0
for(el in 0..4) {
a[i] = i++
}
for (el in a) {
for (el in (a as Array<Int>)) {
sum = sum + el
}
if(sum != 10) return "a failed"
@@ -44,7 +44,7 @@ fun box() : String {
}
if(sum != 15) return "c4 failed"
val a : Array<Int> = Array<Int> (5, {0})
val a : Array<Int> = arrayOfNulls<Int>(5) as Array<Int>
for(el in 0..4) {
a[i] = i++
}
@@ -5,7 +5,7 @@ fun main(args: Array<String>?) {
//do not compile
System.out?.println(fff<Unit>(Unit)) //do not compile
System.out?.println(id<Unit>(y)) //do not compile
System.out?.println(fff<Unit>(id<Unit>(y)) == id<Unit>(foreach(Array<Int>(0,{0}),{(e : Int) : Unit -> }))) //do not compile
System.out?.println(fff<Unit>(id<Unit>(y)) == id<Unit>(foreach(arrayOfNulls<Int>(0) as Array<Int>,{(e : Int) : Unit -> }))) //do not compile
}
class A<T>()
@@ -30,7 +30,7 @@ fun almostFilter(array: Array<Int>, action: (Int)-> Int) {
}
fun box() : String {
val a = Array<Int> (3,{-1})
val a = arrayOfNulls<Int>(3) as Array<Int>
a[0] = 0
a[1] = 1
a[2] = 2
@@ -7,6 +7,6 @@ object Obj {
fun box() : String {
val klass = Class.forName("Obj\$Inner")!!
val cons = klass.getConstructors()!![0]
val inner = cons.newInstance(* Array(0){""})
val inner = cons.newInstance(*(arrayOfNulls<String>(0) as Array<String>))
return "OK"
}
@@ -10,7 +10,7 @@ fun checkLess(x: Array<Int>, y: Array<Int>) = when {
fun Array<Int>.compareTo(other: Array<Int>) = size() - other.size()
fun box(): String {
val a = Array<Int>(0, {0})
val b = Array<Int>(1, {0})
val a = arrayOfNulls<Int>(0) as Array<Int>
val b = arrayOfNulls<Int>(1) as Array<Int>
return checkLess(a, b)
}
@@ -6,7 +6,7 @@ fun box(): String {
val collection = MyCollection(Arrays.asList(2, 3, 9)) as java.util.Collection<*>
val array1 = collection.toArray()
val array2 = collection.toArray(Array<Int>(3, { 0 }))
val array2 = collection.toArray(arrayOfNulls<Int>(3) as Array<Int>)
if (array1 !is Array<Any>) return (array1 as Object).getClass().toString()
if (array2 !is Array<Int>) return (array2 as Object).getClass().toString()
@@ -1,7 +1,13 @@
import java.util.Arrays
class MyCollection<T>(val delegate: Collection<T>): Collection<T> by delegate {
public fun toArray(): Array<Any?> = Array<Any?>(3, { it })
public fun toArray(): Array<Any?> {
val a = arrayOfNulls<Any?>(3)
a[0] = 0
a[1] = 1
a[2] = 2
return a
}
public fun <E> toArray(array: Array<E>): Array<E> {
val asIntArray = array as Array<Int>
asIntArray[0] = 0
@@ -15,7 +21,7 @@ fun box(): String {
val collection = MyCollection(Arrays.asList(2, 3, 9)) as java.util.Collection<*>
val array1 = collection.toArray()
val array2 = collection.toArray(Array<Int>(3, { 0 }))
val array2 = collection.toArray(arrayOfNulls<Int>(3) as Array<Int>)
if (array1 !is Array<Any>) return (array1 as Object).getClass().toString()
if (array2 !is Array<Int>) return (array2 as Object).getClass().toString()
@@ -10,7 +10,7 @@ fun foo() {
val a = A()
a.x = 3
val b = Array<Int?>(4, { null })
val b = arrayOfNulls<Int>(4)
b[100] = 5
val x = 6 : Int?
@@ -24,5 +24,5 @@ fun foo() {
val c2: Any = if (1 != 1) 0 else "abc"
}
// 10 java/lang/Integer.valueOf
// 1 intValue
// 9 java/lang/Integer.valueOf
// 0 intValue
@@ -1,4 +1,4 @@
class Foo(vararg val a: String = Array<String>(1) {"default"})
class Foo(vararg val a: String = arrayOfNulls<String>(1) as Array<String>)
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: true