aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-11 10:28:05 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-11 10:28:05 +0100
commitc5bf0550ad465bed16dab1d9c8bed8d2a036d6ab (patch)
tree6547c9f88be663377fa56aa297f6836a41441d66 /src/test/java
parentea29df54d21ccfd8fcf93bac37f3b57bad327b13 (diff)
Add push-unit instruction
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java9
-rw-r--r--src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java4
2 files changed, 13 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java
index 5bc9f749..c13035b6 100644
--- a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java
@@ -124,6 +124,15 @@ public class InstructionSerializerTests {
assertThat(string, equalTo("(push-string \"\\b\\t\\n\\f\\r\\\"\\\\\")"));
}
+ @Test
+ public void canSerializePushUnit() {
+ var instruction = Instructions.pushUnit();
+
+ var string = serialize(instruction);
+
+ assertThat(string, equalTo("(push-unit)"));
+ }
+
private String serialize(Instruction instruction) {
var builder = new StringBuilder();
InstructionSerializer.serialize(instruction, builder);
diff --git a/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java b/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java
index ba55e28a..cb147883 100644
--- a/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java
+++ b/src/test/java/org/shedlang/compiler/stackir/instructions/Instructions.java
@@ -44,4 +44,8 @@ public class Instructions {
public static Instruction pushString(String value) {
return new PushStringInstruction(value, Sources.NULL);
}
+
+ public static Instruction pushUnit() {
+ return new PushUnitInstruction(Sources.NULL);
+ }
}