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/patio/PatioSerializerTests.java15
-rw-r--r--src/test/java/org/shedlang/compiler/patio/instructions/Patio.java8
2 files changed, 23 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
index 64ad3150..53075aec 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -287,6 +287,21 @@ public class PatioSerializerTests {
}
@Test
+ public void canSerializeIntSub() {
+ var instruction = Patio.intSub(
+ Patio.localRef("target"),
+ Patio.localRef("left"),
+ Patio.localRef("right")
+ );
+
+ var string = PatioTesting.serializeInstruction(instruction);
+
+ assertThat(string, equalTo("""
+ (int-sub (local "target") (local "left") (local "right"))"""
+ ));
+ }
+
+ @Test
public void canSerializeIntToBool() {
var instruction = Patio.intToBool(Patio.localRef("target"), Patio.localRef("value"));
diff --git a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
index 3a3123ef..f3fd2765 100644
--- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
+++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
@@ -133,6 +133,14 @@ public class Patio {
return new PatioIntEquals(target, left, right, Sources.NULL);
}
+ public static PatioInstruction intSub(
+ PatioLocalRef target,
+ PatioOperand left,
+ PatioOperand right
+ ) {
+ return new PatioIntSub(target, left, right, Sources.NULL);
+ }
+
public static PatioInstruction intToBool(PatioLocalRef target, PatioLocalRef value) {
return new PatioIntToBool(target, value, Sources.NULL);
}