aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java7
-rw-r--r--src/test/java/org/shedlang/compiler/parser/ParserRelationalOperationTests.java12
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 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<UntypedExpressionNode> isUntypedGreaterThanNode(
+ Matcher<UntypedExpressionNode> left,
+ Matcher<UntypedExpressionNode> right
+ ) {
+ return isUntypedBinaryOperationNode(UntypedBinaryOperator.GREATER_THAN, 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 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)
+ ));
+ }
}