more OO tests
This commit is contained in:
parent
52a3a96e3f
commit
f848d79d39
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import net.sergeych.lyng.Script
|
import net.sergeych.lyng.Script
|
||||||
|
import net.sergeych.lyng.Statement
|
||||||
import net.sergeych.lyng.eval
|
import net.sergeych.lyng.eval
|
||||||
import net.sergeych.lyng.obj.ObjInstance
|
import net.sergeych.lyng.obj.ObjInstance
|
||||||
import net.sergeych.lyng.obj.ObjList
|
import net.sergeych.lyng.obj.ObjList
|
||||||
@ -823,7 +824,7 @@ class OOTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testOverrideVisibilityRules2() = runTest {
|
fun testOverrideVisibilityRules2() = runTest {
|
||||||
val scope = Script.newScope()
|
val scope = Script.newScope()
|
||||||
scope.eval("""
|
val fn = scope.eval("""
|
||||||
interface Base {
|
interface Base {
|
||||||
abstract fun foo()
|
abstract fun foo()
|
||||||
|
|
||||||
@ -855,18 +856,16 @@ class OOTest {
|
|||||||
}
|
}
|
||||||
assertEquals("bar!", Derived().bar())
|
assertEquals("bar!", Derived().bar())
|
||||||
val d = Derived2()
|
val d = Derived2()
|
||||||
assertEquals(42, d.bar())
|
|
||||||
assertEquals(43, d.bar())
|
fun callBar() = d.bar()
|
||||||
""".trimIndent())
|
|
||||||
scope.createChildScope().eval("""
|
assertEquals(42, callBar())
|
||||||
assertEquals("bar!", Derived().bar())
|
assertEquals(43, callBar())
|
||||||
assertEquals(42, Derived2().bar())
|
|
||||||
import lyng.serialization
|
callBar
|
||||||
for( i in 1..100 ) {
|
""".trimIndent()) as Statement
|
||||||
val d2 = Lynon.decode(Lynon.encode(Derived2()))
|
val s2 = Script.newScope()
|
||||||
assertEquals(42, d2.bar())
|
assertEquals(44L, fn.invoke(scope, fn).toKotlin(s2))
|
||||||
assertEquals(43, d2.bar())
|
assertEquals(45L, fn.invoke(s2, fn).toKotlin(s2))
|
||||||
}
|
|
||||||
""".trimIndent())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user