summaryrefslogtreecommitdiff
path: root/examples/10-transient-0/output
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-24 15:02:27 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-24 15:02:27 +0100
commit0e9e0974e0c2a8906e484082dc4e6666faa8a2a7 (patch)
tree1a53ccfdb420cd77f5ecfc78bfc04cfba4e4ebc0 /examples/10-transient-0/output
parent9308e832ba6043ce66485833fca9eb5f20657f35 (diff)
Add struct with sum to transient-0 tests
Diffstat (limited to 'examples/10-transient-0/output')
-rw-r--r--examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java15
-rw-r--r--examples/10-transient-0/output/rust/src/gen/data.rs6
-rw-r--r--examples/10-transient-0/output/rust/src/gen/data/transient_0.rs12
3 files changed, 33 insertions, 0 deletions
diff --git a/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
index c2564aa..6369f93 100644
--- a/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ b/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
@@ -19,6 +19,7 @@ import org.zwobble.example.types.data.StructWithList;
import org.zwobble.example.types.data.StructWithOption;
import org.zwobble.example.types.data.StructWithString;
import org.zwobble.example.types.data.StructWithStruct;
+import org.zwobble.example.types.data.StructWithSum;
import org.zwobble.example.types.data.VariantOne;
import org.zwobble.example.types.data.VariantTwo;
@@ -174,6 +175,20 @@ public class Transient0Tests {
);
}
+ @Test
+ public void structWithSum() throws IOException {
+ var value = new StructWithSum(
+ new VariantTwo(25),
+ 42
+ );
+
+ assertRoundTripEncoding(
+ value,
+ HobgoblinTransient0Data::encodeStructWithSum,
+ HobgoblinTransient0Data::decodeStructWithSum
+ );
+ }
+
private <T> void assertRoundTripEncoding(
T value,
Encoder<T> encoder,
diff --git a/examples/10-transient-0/output/rust/src/gen/data.rs b/examples/10-transient-0/output/rust/src/gen/data.rs
index dd9af46..0ea6c0f 100644
--- a/examples/10-transient-0/output/rust/src/gen/data.rs
+++ b/examples/10-transient-0/output/rust/src/gen/data.rs
@@ -82,3 +82,9 @@ pub struct VariantOne {
pub struct VariantTwo {
pub a: ::core::primitive::i64,
}
+
+#[derive(Debug, PartialEq)]
+pub struct StructWithSum {
+ pub inner: crate::data::SumWithVariants,
+ pub b: ::core::primitive::i32,
+}
diff --git a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
index 867318d..cd7b772 100644
--- a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
+++ b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
@@ -209,3 +209,15 @@ pub fn decode_variant_two(reader: &mut impl std::io::Read) -> ::std::io::Result:
let a = crate::transient_0::decode_int_64(reader)?;
std::io::Result::Ok(crate::data::VariantTwo { a: a })
}
+
+pub fn encode_struct_with_sum(value: &crate::data::StructWithSum, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
+ todo!();
+ crate::transient_0::encode_int_32(&value.b, writer)?;
+ ::std::io::Result::Ok(())
+}
+
+pub fn decode_struct_with_sum(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithSum> {
+ let inner = todo!();
+ let b = crate::transient_0::decode_int_32(reader)?;
+ std::io::Result::Ok(crate::data::StructWithSum { inner: inner, b: b })
+}