diff options
Diffstat (limited to 'examples/11-transient-0/output/java/src')
| -rw-r--r-- | examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java index 6bab165..610532e 100644 --- a/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java +++ b/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java @@ -5,6 +5,8 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -35,6 +37,7 @@ public class Transient0Tests { var value = new StructWithBool(true, false); assertRoundTripEncoding( + "StructWithBool", value, HobgoblinTransient0Data::encodeStructWithBool, HobgoblinTransient0Data::decodeStructWithBool @@ -46,6 +49,7 @@ public class Transient0Tests { var value = new StructWithInt32(10, 25); assertRoundTripEncoding( + "StructWithInt32", value, HobgoblinTransient0Data::encodeStructWithInt32, HobgoblinTransient0Data::decodeStructWithInt32 @@ -57,6 +61,7 @@ public class Transient0Tests { var value = new StructWithInt64(10, 25); assertRoundTripEncoding( + "StructWithInt64", value, HobgoblinTransient0Data::encodeStructWithInt64, HobgoblinTransient0Data::decodeStructWithInt64 @@ -68,6 +73,7 @@ public class Transient0Tests { var value = new StructWithString("abc", "def"); assertRoundTripEncoding( + "StructWithString", value, HobgoblinTransient0Data::encodeStructWithString, HobgoblinTransient0Data::decodeStructWithString @@ -79,6 +85,7 @@ public class Transient0Tests { var value = new StructWithStruct(new StructWithInt32(10, 25), 42); assertRoundTripEncoding( + "StructWithStruct", value, HobgoblinTransient0Data::encodeStructWithStruct, HobgoblinTransient0Data::decodeStructWithStruct @@ -97,6 +104,7 @@ public class Transient0Tests { ); assertRoundTripEncoding( + "StructWithList", value, HobgoblinTransient0Data::encodeStructWithList, HobgoblinTransient0Data::decodeStructWithList @@ -111,6 +119,7 @@ public class Transient0Tests { ); assertRoundTripEncoding( + "StructWithOption_None", value, HobgoblinTransient0Data::encodeStructWithOption, HobgoblinTransient0Data::decodeStructWithOption @@ -125,6 +134,7 @@ public class Transient0Tests { ); assertRoundTripEncoding( + "StructWithOption_Some", value, HobgoblinTransient0Data::encodeStructWithOption, HobgoblinTransient0Data::decodeStructWithOption @@ -134,18 +144,21 @@ public class Transient0Tests { @Test public void enumWithVariants() throws IOException { assertRoundTripEncoding( + "EnumWithVariants_zero", EnumWithVariants.ZERO, HobgoblinTransient0Data::encodeEnumWithVariants, HobgoblinTransient0Data::decodeEnumWithVariants ); assertRoundTripEncoding( + "EnumWithVariants_one", EnumWithVariants.ONE, HobgoblinTransient0Data::encodeEnumWithVariants, HobgoblinTransient0Data::decodeEnumWithVariants ); assertRoundTripEncoding( + "EnumWithVariants_two", EnumWithVariants.TWO, HobgoblinTransient0Data::encodeEnumWithVariants, HobgoblinTransient0Data::decodeEnumWithVariants @@ -160,6 +173,7 @@ public class Transient0Tests { ); assertRoundTripEncoding( + "StructWithEnum", value, HobgoblinTransient0Data::encodeStructWithEnum, HobgoblinTransient0Data::decodeStructWithEnum @@ -169,12 +183,14 @@ public class Transient0Tests { @Test public void sumWithVariants() throws IOException { assertRoundTripEncoding( + "SumWithVariants_VariantOne", new VariantOne(10), HobgoblinTransient0Data::encodeSumWithVariants, HobgoblinTransient0Data::decodeSumWithVariants ); assertRoundTripEncoding( + "SumWithVariants_VariantTwo", new VariantTwo(25), HobgoblinTransient0Data::encodeSumWithVariants, HobgoblinTransient0Data::decodeSumWithVariants @@ -189,6 +205,7 @@ public class Transient0Tests { ); assertRoundTripEncoding( + "StructWithSum", value, HobgoblinTransient0Data::encodeStructWithSum, HobgoblinTransient0Data::decodeStructWithSum @@ -203,6 +220,7 @@ public class Transient0Tests { var value = new StructWithListOfShared(List.of(a, a, b, a, b)); var decodedValue = assertRoundTripEncoding( + "StructWithListOfShared", value, HobgoblinTransient0Data::encodeStructWithListOfShared, HobgoblinTransient0Data::decodeStructWithListOfShared @@ -221,6 +239,7 @@ public class Transient0Tests { var value = new StructWithDifferentSharedTypes(a, b, c); assertRoundTripEncoding( + "StructWithDifferentSharedTypes", value, HobgoblinTransient0Data::encodeStructWithDifferentSharedTypes, HobgoblinTransient0Data::decodeStructWithDifferentSharedTypes @@ -238,6 +257,7 @@ public class Transient0Tests { var value = new StructWithSharedSumAndVariant(a, a); assertRoundTripEncoding( + "StructWithSharedSumAndVariant", value, HobgoblinTransient0Data::encodeStructWithSharedSumAndVariant, HobgoblinTransient0Data::decodeStructWithSharedSumAndVariant @@ -245,6 +265,7 @@ public class Transient0Tests { } private <T> T assertRoundTripEncoding( + String name, T value, Encoder<T> encoder, Decoder<T> decoder @@ -254,6 +275,12 @@ public class Transient0Tests { encoder.encode(value, outputStream, new HashMap<>()); var bytes = outputStream.toByteArray(); + var outputDir = System.getenv("HOBGOBLIN_OUTPUT_DIR"); + var transient0OutputDir = Path.of(outputDir).resolve("transient-0"); + Files.createDirectories(transient0OutputDir); + var transient0OutputPath = transient0OutputDir.resolve(name); + Files.write(transient0OutputPath, bytes); + var inputStream = new ByteArrayInputStream(bytes); var decodedValue = decoder.decode(inputStream, new ArrayList<>()); |
