aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-05 21:15:51 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-05 21:15:51 +0100
commit370e147a121a57ec9e14542a443ab96e3573d5d3 (patch)
tree06e9f770ebdef5c9da7a0be7f2b2b65db0e19e3b /src/test/java/org
parente35d7b64dc82864b88e7fe8041e1efd69aed144a (diff)
Parse negative ints
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java b/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java
index 61908772..bc0dcad9 100644
--- a/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java
+++ b/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java
@@ -7,7 +7,7 @@ import static org.shedlang.compiler.parser.ParserTesting.parseString;
import static org.zwobble.precisely.AssertThat.assertThat;
public class ParserIntLiteralTests {
- // TODO: negatives
+ // TODO: forbid negative zero?
// TODO: forbid leading zeroes?
@Test
@@ -36,4 +36,22 @@ public class ParserIntLiteralTests {
assertThat(node, isUntypedIntLiteralNode(723));
}
+
+ @Test
+ public void canParseSingleDigitNegativeInt() {
+ var source = "-7";
+
+ var node = parseString(source, Parser::parseTopLevelExpression);
+
+ assertThat(node, isUntypedIntLiteralNode(-7));
+ }
+
+ @Test
+ public void canParseManyDigitNegativeInt() {
+ var source = "-723";
+
+ var node = parseString(source, Parser::parseTopLevelExpression);
+
+ assertThat(node, isUntypedIntLiteralNode(-723));
+ }
}