diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/10-transient-0/output/java-junit/src/test/java/org/zwobble/example/Transient0Tests.java | 22 | ||||
| -rw-r--r-- | examples/10-transient-0/src/data.hob | 6 |
2 files changed, 28 insertions, 0 deletions
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 cb3ac61..7d6f7de 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 @@ -9,6 +9,7 @@ import java.util.List; import java.util.Optional; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.zwobble.example.types.data.EnumWithVariants; import org.zwobble.example.types.data.HobgoblinTransient0Data; import org.zwobble.example.types.data.InnerStruct; import org.zwobble.example.types.data.OuterStruct; @@ -121,6 +122,27 @@ public class Transient0Tests { ); } + @Test + public void enumWithVariants() throws IOException { + assertRoundTripEncoding( + EnumWithVariants.ZERO, + HobgoblinTransient0Data::encodeEnumWithVariants, + HobgoblinTransient0Data::decodeEnumWithVariants + ); + + assertRoundTripEncoding( + EnumWithVariants.ONE, + HobgoblinTransient0Data::encodeEnumWithVariants, + HobgoblinTransient0Data::decodeEnumWithVariants + ); + + assertRoundTripEncoding( + EnumWithVariants.TWO, + HobgoblinTransient0Data::encodeEnumWithVariants, + HobgoblinTransient0Data::decodeEnumWithVariants + ); + } + private <T> void assertRoundTripEncoding( T value, Encoder<T> encoder, diff --git a/examples/10-transient-0/src/data.hob b/examples/10-transient-0/src/data.hob index 80ba8e5..f6fa20e 100644 --- a/examples/10-transient-0/src/data.hob +++ b/examples/10-transient-0/src/data.hob @@ -37,3 +37,9 @@ struct StructWithOption { field a: Option[Int64]; field b: Option[InnerStruct]; } + +enum EnumWithVariants { + variant zero; + variant one; + variant two; +} |
