OOP: structs with field access!
This commit is contained in:
1 parent
397dcaae92
commit
d3f23be7fe
7 files changed
+155
-72
No files matched your search
@@ -1383,14 +1383,36 @@ class ScriptTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun simpleClassDelaration() = runTest {
|
||||
eval( """
|
||||
// class Vec2(x,y)
|
||||
// println(Vec2(1,2)::class)
|
||||
println("---------------------")
|
||||
println(Int::class)
|
||||
""".trimIndent()
|
||||
)
|
||||
fun testSimpleStruct() = runTest {
|
||||
val c = Context()
|
||||
c.eval("""
|
||||
struct Point(x,y)
|
||||
assert( Point::class is Class )
|
||||
val p = Point(2,3)
|
||||
assert(p is Point)
|
||||
println(p)
|
||||
println(p.x)
|
||||
assert( p.x == 2 )
|
||||
assert( p.y == 3 )
|
||||
|
||||
val p2 = Point(p.x+1,p.y+1)
|
||||
p.x = 0
|
||||
assertEquals( 0, p.x )
|
||||
""".trimIndent())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testNonAssignalbeFieldInStruct() = runTest {
|
||||
val c = Context()
|
||||
c.eval("""
|
||||
struct Point(x,y)
|
||||
val p = Point("2",3)
|
||||
assert(p is Point)
|
||||
assert( p.x == "2" )
|
||||
assert( p.y == 3 )
|
||||
|
||||
p.x = 0
|
||||
assertEquals( 0, p.x )
|
||||
""".trimIndent())
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user