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 c1480dd9..57b7948d 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -234,6 +234,21 @@ public class PatioSerializerTests {
}
@Test
+ public void canSerializeIntEquals() {
+ var instruction = Patio.intEquals(
+ Patio.localRef("target"),
+ Patio.localRef("left"),
+ Patio.localRef("right")
+ );
+
+ var string = PatioTesting.serializeInstruction(instruction);
+
+ assertThat(string, equalTo("""
+ (int-eq (local "target") (local "left") (local "right"))"""
+ ));
+ }
+
+ @Test
public void canSerializeIntToDataPtr() {
var instruction = Patio.intToDataPtr("target", "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 5d788a89..2bdca7a4 100644
--- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
+++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
@@ -112,6 +112,14 @@ public class Patio {
);
}
+ public static PatioInstruction intEquals(
+ PatioLocalRef target,
+ PatioOperand left,
+ PatioOperand right
+ ) {
+ return new PatioIntEquals(target, left, right, Sources.NULL);
+ }
+
public static PatioInstruction intToDataPtr(String target, String value) {
return new PatioIntToDataPtr(
new PatioLocalRef(target),