aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-03-22 10:59:03 +0000
committerMichael Williamson <mike@zwobble.org>2026-03-22 10:59:03 +0000
commitd8e89e31a95b7f435b07a5756368e5b39e063c6c (patch)
tree34a78709d64c1d146363acf6035606c98f8abb5a /src/test/java
parent0d83766cdb08286adf64c54d82ef2a78755f4c1e (diff)
Add serialization of sources to flatbuffers
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java b/src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java
new file mode 100644
index 00000000..31d20149
--- /dev/null
+++ b/src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java
@@ -0,0 +1,27 @@
+package org.shedlang.compiler.sources.serialization;
+
+import com.google.flatbuffers.FlatBufferBuilder;
+import com.google.protobuf.InvalidProtocolBufferException;
+import org.shedlang.compiler.sources.SourceSerializationTests;
+import org.shedlang.compiler.sources.flatbuffers.SourceFbs;
+import org.shedlang.compiler.sources.protobuf.SourcesProtobuf;
+
+import java.nio.ByteBuffer;
+
+public class SourceToFlatbuffersTests extends SourceSerializationTests {
+ public SourceToFlatbuffersTests() {
+ super(
+ (source, parentSource) -> {
+ var builder = new FlatBufferBuilder();
+ var sourceFbs = SourceToFlatbuffers.serializeSource(builder, source, parentSource);
+ builder.finish(sourceFbs);
+ return builder.sizedByteArray();
+ },
+
+ (serializedSource, parentSource) -> {
+ var sourceFbs = SourceFbs.getRootAsSourceFbs(ByteBuffer.wrap(serializedSource));
+ return SourceToFlatbuffers.deserializeSource(sourceFbs, parentSource);
+ }
+ );
+ }
+}