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.isShidDiscard; import static org.shedlang.compiler.shid.instructions.ShidMatchers.isShidPushString; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.isSequence; public class ShidCodeGenExpressionStatementTests { @Test public void expressionIsEvaluatedAndTheResultDiscarded() { var node = Typed.expressionStatement(Typed.stringLiteral("hello")); var context = ShidCodeGen.Context.EMPTY; var result = ShidCodeGen.compileFunctionStatement(node, context); assertThat(result.instructions(), isSequence( isShidPushString("hello"), isShidDiscard() )); } }