diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java b/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java index 6018fa88..70218cc3 100644 --- a/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java @@ -1,10 +1,7 @@ package org.shedlang.compiler.shid; import org.junit.jupiter.api.Test; -import org.shedlang.compiler.shid.instructions.Shid; -import org.shedlang.compiler.shid.instructions.ShidDefineFunction; -import org.shedlang.compiler.shid.instructions.ShidInstruction; -import org.shedlang.compiler.shid.instructions.ShidVariable; +import org.shedlang.compiler.shid.instructions.*; import org.shedlang.compiler.types.Effects; import org.shedlang.compiler.types.NamespaceName; import org.shedlang.compiler.types.Types; @@ -46,6 +43,27 @@ public class ShidSerializerTests { } @Test + public void canSerializeDeclareNativeFunction() { + var instruction = ShidDeclareNativeFunction.builder() + .withName("f") + .addPositionalParam("p1") + .addPositionalParam("p2") + .addNamedParam("n1") + .addNamedParam("n2") + .build(); + + var string = serialize(instruction); + + assertThat(string, equalTo(""" + ( + declare-native-function + name="f" + positional-params=("p1" "p2") + named-params=("n1" "n2") + )""")); + } + + @Test public void canSerializeDefineEffect() { var instruction = Shid.defineEffect( Effects.userDefined(NamespaceName.of("Example", "Project"), "State") |
