diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-01-22 19:10:41 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-01-22 19:10:41 +0000 |
| commit | c05cccb9f60bc4d4dab4f50bf686b6a94bfc6012 (patch) | |
| tree | a0f2155a4e490b35e4ea4352189a7c8c1430e5c6 /src/test/java | |
| parent | d3bca8fad9f9cb6b6e8f960031887590a97d5dc1 (diff) | |
Add test for serializing Patio int value literal
Diffstat (limited to 'src/test/java')
3 files changed, 24 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 a1be788c..0e4a1c14 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java @@ -801,6 +801,17 @@ public class PatioSerializerTests { assertThat(string, equalTo("(local \"x\")")); } + // == Int values == + + @Test + public void canSerializeIntValueLiteral() { + var operand = Patio.intValueLiteral(42); + + var string = PatioTesting.serializeIntValue(operand); + + assertThat(string, equalTo("42")); + } + // == Types == @Test diff --git a/src/test/java/org/shedlang/compiler/patio/PatioTesting.java b/src/test/java/org/shedlang/compiler/patio/PatioTesting.java index d787ba06..4de4a4d7 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioTesting.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioTesting.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.patio.operands.PatioOperand; import org.shedlang.compiler.patio.types.PatioDataLayout; import org.shedlang.compiler.patio.types.PatioDataValue; import org.shedlang.compiler.patio.types.PatioType; +import org.shedlang.compiler.patio.values.PatioIntValue; public class PatioTesting { private PatioTesting() {} @@ -39,6 +40,12 @@ public class PatioTesting { return builder.toString(); } + static String serializeIntValue(PatioIntValue value) { + var builder = new StringBuilder(); + PatioSerializer.serializeIntValue(value, builder); + return builder.toString(); + } + static String serializeOperand(PatioOperand operand) { var builder = new StringBuilder(); PatioSerializer.serializeOperand(operand, builder); 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 7171f20f..8129dcff 100644 --- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java +++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java @@ -5,6 +5,8 @@ import org.shedlang.compiler.patio.operands.*; import org.shedlang.compiler.patio.types.PatioDataLayout; import org.shedlang.compiler.patio.types.PatioDataValue; import org.shedlang.compiler.patio.types.PatioType; +import org.shedlang.compiler.patio.values.PatioIntValue; +import org.shedlang.compiler.patio.values.PatioIntValueLiteral; import org.shedlang.compiler.sources.Sources; import java.util.List; @@ -203,6 +205,10 @@ public class Patio { ); } + public static PatioIntValue intValueLiteral(int value) { + return new PatioIntValueLiteral(value); + } + public static PatioInstruction localStore(PatioLocalRef destination, PatioOperand value) { return new PatioLocalStore( destination, |
