| // WITH_STDLIB |
| |
| // MODULE: lib1 |
| |
| // FILE: Demo.kt |
| var DemoSetterCalls = 0 |
| var DemoGetterCalls = 0 |
| |
| abstract class Demo { |
| internal fun demoFun(): Int = 5 |
| internal val demoVal: Int = 6 |
| internal val demoValGet: Int |
| get() = 7 |
| internal var demoVarSetGet: Int = 8 |
| set(value) { ++DemoSetterCalls; field = value } |
| get() { ++DemoGetterCalls; return field } |
| } |
| |
| // MODULE: main()(lib1) |
| |
| // FILE: MyDemo.kt |
| class MyDemo : Demo() |
| |
| // FILE: Box.kt |
| import kotlin.test.assertEquals |
| |
| fun testMyDemo() { |
| val myDemo = MyDemo() |
| |
| assertEquals(myDemo.demoFun(), 5) |
| assertEquals(myDemo.demoVal, 6) |
| assertEquals(myDemo.demoValGet, 7) |
| assertEquals(myDemo.demoVarSetGet, 8) |
| myDemo.demoVarSetGet = -9 |
| assertEquals(myDemo.demoVarSetGet, -9) |
| assertEquals(DemoSetterCalls, 1) |
| assertEquals(DemoGetterCalls, 2) |
| } |
| |
| fun box(): String { |
| testMyDemo() |
| return "OK" |
| } |