More delegation tests

This commit is contained in:
Maxim Shafirov
2011-05-15 01:29:01 +04:00
parent 3693a2366b
commit 0dfc7afb29
3 changed files with 48 additions and 0 deletions
@@ -0,0 +1,22 @@
class Base() {
public var v : Int
}
class Left() : Base() {}
class Right() : Base() {}
class D() : Left(), Right()
fun vl(l : Left) : Int = l.v
fun vr(r : Right) : Int = r.v
fun box() : String {
val d = new D()
d.v = 42
if (d.v != 42) return "Fail #1"
if (vl(d) != 42) return "Fail #2"
if (vr(d) != 42) return "Fail #3"
return "OK"
}
@@ -0,0 +1,18 @@
class Left() {}
class Right() {
virtual fun f() = 42
}
class D() : Left(), Right() {
override fun f() = 239
}
fun box() : String {
val r : Right = new Right()
val d : D = new D()
if (r.f() != 42) return "Fail #1"
if (d.f() != 239) return "Fail #2"
return "OK"
}