package org.shedlang.compiler.shid; import org.junit.jupiter.api.Test; import org.shedlang.compiler.ast.typed.Typed; import static org.shedlang.compiler.shid.instructions.ShidMatchers.*; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.isSequence; public class ShidCodeGenVarTests { @Test public void expressionIsEvaluatedAndStoredAsVar() { var node = Typed.var("x", Typed.stringLiteral("hello")); var context = ShidCodeGen.Context.EMPTY .addShedVal("x"); var result = ShidCodeGen.compileFunctionStatement(node, context); assertThat(result.instructions(), isSequence( isShidPushString("hello"), isShidVarStore("x__0") )); } }