complicate kt471 test back

This commit is contained in:
Stepan Koltsov
2012-05-03 17:39:08 +04:00
parent e18e35c40c
commit 08abd992c9
+17 -12
View File
@@ -51,31 +51,36 @@ fun test6() : Boolean {
} }
// ArrayList without jdk-headers cannot be used in these tests // ArrayList without jdk-headers cannot be used in these tests
class MyArrayList<T>(var value: T) { class MyArrayList<T>() {
private var value17: T? = null
private var value39: T? = null
fun get(index: Int): T { fun get(index: Int): T {
if (index != 17) if (index == 17) return value17!!
throw Exception() if (index == 39) return value39!!
return value throw Exception()
} }
fun set(index: Int, value: T): Unit { fun set(index: Int, value: T): T? {
if (index != 17) if (index == 17) value17 = value
throw Exception() else if (index == 39) value39 = value
this.value = value else throw Exception()
return null
} }
} }
fun test7() : Boolean { fun test7() : Boolean {
var mnr = MyArrayList<MyNumber>(MyNumber(42)) var mnr = MyArrayList<MyNumber>()
mnr[17] = MyNumber(42)
mnr[17]++ mnr[17]++
if (mnr[17].i != 43) return false if (mnr[17].i != 43) return false
return true return true
} }
fun test8() : Boolean { fun test8() : Boolean {
var mnr = MyArrayList<MyNumber>(MyNumber(42)) var mnr = MyArrayList<MyNumber>()
val old = mnr[17]++ mnr[17] = MyNumber(42)
if (old.i != 42) return false mnr[39] = mnr[17]++
if (mnr[17].i != 43) return false if (mnr[17].i != 43) return false
if (mnr[39].i != 42) return false
return true return true
} }