From d8e89e31a95b7f435b07a5756368e5b39e063c6c Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Mar 2026 10:59:03 +0000 Subject: Add serialization of sources to flatbuffers --- .../serialization/SourceToFlatbuffersTests.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java (limited to 'src/test/java') 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); + } + ); + } +} -- cgit v1.2.3