From 48fbc3fa3f98e6fae36b7543ef5ceb9d398cf6fa Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 2 Feb 2025 18:42:06 +0000 Subject: Parse greater than expressions --- .../shedlang/compiler/ast/untyped/UntypedNodeMatchers.java | 7 +++++++ .../compiler/parser/ParserRelationalOperationTests.java | 12 ++++++++++++ 2 files changed, 19 insertions(+) (limited to 'src/test/java') 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 77e25dff..c6948d19 100644 --- a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java +++ b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java @@ -186,6 +186,13 @@ public class UntypedNodeMatchers { ); } + public static Matcher isUntypedGreaterThanNode( + Matcher left, + Matcher right + ) { + return isUntypedBinaryOperationNode(UntypedBinaryOperator.GREATER_THAN, left, right); + } + public static Matcher isUntypedIfNode( Matcher> conditionalBranches, Matcher elseBody diff --git a/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java b/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java index 70d81280..8d4a85ec 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java @@ -30,4 +30,16 @@ public class ParserRelationalOperationTests { isUntypedIntLiteralNode(2) )); } + + @Test + public void canParseGreaterThanExpression() { + var source = "1 > 2"; + + var node = parseString(source, Parser::parseTopLevelExpression); + + assertThat(node, isUntypedGreaterThanNode( + isUntypedIntLiteralNode(1), + isUntypedIntLiteralNode(2) + )); + } } -- cgit v1.2.3