diff options
| author | Michael Williamson <mike@zwobble.org> | 2025-02-02 18:43:06 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2025-02-02 18:43:06 +0000 |
| commit | 1d41ef64406e575caf012f8a50febc15805bafca (patch) | |
| tree | d3148a0695957c4fa980995b9c2e34dd93926436 /src/test/java | |
| parent | 48fbc3fa3f98e6fae36b7543ef5ceb9d398cf6fa (diff) | |
Parse greater than or equal expressions
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java | 7 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java index c6948d19..bf46b533 100644 --- a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java +++ b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java @@ -193,6 +193,13 @@ public class UntypedNodeMatchers { return isUntypedBinaryOperationNode(UntypedBinaryOperator.GREATER_THAN, left, right); } + public static Matcher<UntypedExpressionNode> isUntypedGreaterThanOrEqualNode( + Matcher<UntypedExpressionNode> left, + Matcher<UntypedExpressionNode> right + ) { + return isUntypedBinaryOperationNode(UntypedBinaryOperator.GREATER_THAN_OR_EQUAL, left, right); + } + public static Matcher<UntypedExpressionNode> isUntypedIfNode( Matcher<Iterable<? extends UntypedConditionalBranchNode>> conditionalBranches, Matcher<UntypedBlockNode> elseBody diff --git a/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java b/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java index 8d4a85ec..90acf490 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java @@ -42,4 +42,16 @@ public class ParserRelationalOperationTests { isUntypedIntLiteralNode(2) )); } + + @Test + public void canParseGreaterThanOrEqualExpression() { + var source = "1 >= 2"; + + var node = parseString(source, Parser::parseTopLevelExpression); + + assertThat(node, isUntypedGreaterThanOrEqualNode( + isUntypedIntLiteralNode(1), + isUntypedIntLiteralNode(2) + )); + } } |
