From bef5f2a093007b4554c1746d1af550b64272dd34 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 21 Mar 2026 12:43:36 +0000 Subject: Serialise Patio immutable data definitions --- .../patio/protobuf/PatioToProtobufTests.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java b/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java index 368f95f3..ceb14468 100644 --- a/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java +++ b/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java @@ -1,9 +1,11 @@ package org.shedlang.compiler.patio.protobuf; import org.junit.jupiter.api.Test; +import org.shedlang.compiler.patio.PatioVisibility; import org.shedlang.compiler.patio.instructions.Patio; import org.shedlang.compiler.patio.types.PatioDataLayouts; import org.shedlang.compiler.patio.types.PatioDataValues; +import org.shedlang.compiler.sources.Sources; import java.util.List; @@ -11,6 +13,27 @@ import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; public class PatioToProtobufTests { + // == Compilation unit elements == + + @Test + public void canSerializeDataElementImmutableDefinition() { + var element = Patio.dataElementImmutableDefinition( + "x", + PatioVisibility.PRIVATE, + PatioDataValues.array( + PatioDataLayouts.BYTE, + List.of(PatioDataValues.byte_(0x01), PatioDataValues.byte_(0x02)) + ) + ); + + var deserializedElement = PatioToProtobuf.deserializeCompilationUnitElement( + PatioToProtobuf.serializeCompilationUnitElement(element, Sources.NULL), + Sources.NULL + ); + + assertThat(deserializedElement, equalTo(element)); + } + // == Data ptr values == @Test -- cgit v1.2.3