aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-23 11:12:35 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-23 11:12:53 +0100
commit8e633a6c6f9ed28a24afb4c0ed7219d034850fd4 (patch)
treef88ab1faaa4af1c0afc77d31bdca6619d12c9554 /src/test/java
parent483502e8cec5764658e90efc27ed94de713a94aa (diff)
Add int-eq instruction to Patio
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),