From 870371abf7ec001d612f08f275f52d4a4c952db9 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 6 Jul 2026 21:47:09 +0100 Subject: Support strings in Java transient-0 --- .../test/java/org/zwobble/example/Transient0Tests.java | 15 +++++++++++++++ examples/10-transient-0/src/data.hob | 5 +++++ 2 files changed, 20 insertions(+) (limited to 'examples') diff --git a/examples/10-transient-0/output/java-junit/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/10-transient-0/output/java-junit/src/test/java/org/zwobble/example/Transient0Tests.java index c75f454..8466647 100644 --- a/examples/10-transient-0/output/java-junit/src/test/java/org/zwobble/example/Transient0Tests.java +++ b/examples/10-transient-0/output/java-junit/src/test/java/org/zwobble/example/Transient0Tests.java @@ -11,6 +11,7 @@ import org.zwobble.example.types.data.OuterStruct; import org.zwobble.example.types.data.StructWithBool; import org.zwobble.example.types.data.StructWithInt32; import org.zwobble.example.types.data.StructWithInt64; +import org.zwobble.example.types.data.StructWithString; public class Transient0Tests { @Test @@ -55,6 +56,20 @@ public class Transient0Tests { Assertions.assertEquals(value, decodedValue); } + @Test + public void structWithString() throws IOException { + var value = new StructWithString("abc", "def"); + + var outputStream = new ByteArrayOutputStream(); + HobgoblinTransient0Data.encodeStructWithString(value, outputStream); + var bytes = outputStream.toByteArray(); + + var inputStream = new ByteArrayInputStream(bytes); + var decodedValue = HobgoblinTransient0Data.decodeStructWithString(inputStream); + + Assertions.assertEquals(value, decodedValue); + } + @Test public void nestedStruct() throws IOException { var value = new OuterStruct(new InnerStruct(10, 25), 42); diff --git a/examples/10-transient-0/src/data.hob b/examples/10-transient-0/src/data.hob index d2ad016..c750cdd 100644 --- a/examples/10-transient-0/src/data.hob +++ b/examples/10-transient-0/src/data.hob @@ -13,6 +13,11 @@ struct StructWithInt64 { field b: Int64; } +struct StructWithString { + field a: String; + field b: String; +} + struct OuterStruct { field inner: InnerStruct; field c: Int32; -- cgit v1.2.3