Added tests on class delegation

This commit is contained in:
Igor Chevdar
2017-02-21 17:23:09 +03:00
parent dd350f88c8
commit bb82109ded
5 changed files with 107 additions and 0 deletions
@@ -0,0 +1,28 @@
interface A<T> {
fun foo(t: T): String
}
interface B {
fun foo(t: Int) = "B"
}
class Z : B
class Z1 : A<Int>, B by Z()
fun box(): String {
val z1 = Z1()
val z1a: A<Int> = z1
val z1b: B = z1
return when {
z1.foo( 0) != "B" -> "Fail #1"
z1a.foo( 0) != "B" -> "Fail #2"
z1b.foo( 0) != "B" -> "Fail #3"
else -> "OK"
}
}
fun main(args: Array<String>) {
println(box())
}