package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.*; import static org.shedlang.compiler.parser.ParserTesting.parseString; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.isOptionalEmpty; import static org.zwobble.precisely.Matchers.isOptionalOf; public class ParserResumeTests { @Test public void canParseResumeWithExpression() { var source = "resume x;"; var node = parseString(source, Parser::parseFunctionStatement); assertThat(node, isUntypedResumeNode(isOptionalOf( isUntypedReferenceNode("x")) )); } @Test public void canParseResumeWithoutExpression() { var source = "resume;"; var node = parseString(source, Parser::parseFunctionStatement); assertThat(node, isUntypedResumeNode(isOptionalEmpty())); } }