aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-15 11:11:59 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-15 11:12:15 +0000
commit1dc868ca96048bb9ddbd58b3c74ed965a4e7103a (patch)
treeb6d91e113a2fd505a3d740762feeecfe248825ff /src/test/java
parentadeacfc83f2d25d6c056efd0b79e9411f2e5c460 (diff)
Mark Patio block as an instruction
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java26
1 files changed, 26 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 23cdf596..fbcc4459 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -161,6 +161,32 @@ public class PatioSerializerTests {
}
@Test
+ public void canSerializeBlock() {
+ var instruction = Patio.block(
+ List.of(
+ Patio.localStore(Patio.localRef("x1"), Patio.int_(1)),
+ Patio.localStore(Patio.localRef("y1"), Patio.int_(2))
+ ),
+ List.of(
+ Patio.localRef("x1"),
+ Patio.localRef("y1")
+ )
+ );
+
+ var string = PatioTesting.serializeInstruction(instruction);
+
+ assertThat(string, equalTo("""
+ (
+ block
+ (
+ (local-store (local "x1") (int 1))
+ (local-store (local "y1") (int 2))
+ )
+ results=((local "x1") (local "y1"))
+ )"""));
+ }
+
+ @Test
public void canSerializeBoolToInt() {
var instruction = Patio.boolToInt(Patio.localRef("target"), Patio.localRef("value"));