+var and val

This commit is contained in:
sergeych committed 2025-05-18 12:50:01 +04:00
1 parent 50986fbac5
commit 408543d191
7 files changed
+108 -38

No files matched your search

+27 -4
View File
@@ -3,10 +3,7 @@ package io.github.kotlin.fibonacci
import kotlinx.coroutines.test.runTest
import net.sergeych.ling.*
import kotlin.math.PI
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertIs
import kotlin.test.assertTrue
import kotlin.test.*
class ScriptTest {
@@ -109,4 +106,30 @@ class ScriptTest {
assertTrue(eval("sin(π)").toDouble() - 1 < 0.000001)
}
@Test
fun varsAndConsts() = runTest {
val context = Context()
assertEquals(ObjVoid,context.eval("""
val a = 17
var b = 3
""".trimIndent()))
assertEquals(17, context.eval("a").toInt())
assertEquals(20, context.eval("b + a").toInt())
assertFailsWith<ScriptError> {
context.eval("a = 10")
}
assertEquals(10, context.eval("b = a - 3 - 4; b").toInt())
assertEquals(10, context.eval("b").toInt())
}
// @Test
// fun functionTest() = runTest {
// val context = Context()
// context.eval("""
// fun foo(a, b) {
// a + b
// }
// """.trimIndent())
// }
}