aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/shedlang/compiler/sources
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-31 14:45:04 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-31 15:22:40 +0100
commit91860485774924e82da9b0774179d4c3c8da810a (patch)
treee06f52f147502e80aea139c20adac706479cb7ea /src/test/java/org/shedlang/compiler/sources
parent410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff)
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'src/test/java/org/shedlang/compiler/sources')
-rw-r--r--src/test/java/org/shedlang/compiler/sources/SourceSerializationTests.java104
-rw-r--r--src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java25
2 files changed, 0 insertions, 129 deletions
diff --git a/src/test/java/org/shedlang/compiler/sources/SourceSerializationTests.java b/src/test/java/org/shedlang/compiler/sources/SourceSerializationTests.java
deleted file mode 100644
index cf54479a..00000000
--- a/src/test/java/org/shedlang/compiler/sources/SourceSerializationTests.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.shedlang.compiler.sources;
-
-import org.junit.jupiter.api.Test;
-import org.zwobble.sourcetext.SourcePosition;
-import org.zwobble.sourcetext.SourceRange;
-import org.zwobble.sourcetext.SourceText;
-
-import java.util.Optional;
-import java.util.function.BiFunction;
-
-import static org.zwobble.precisely.AssertThat.assertThat;
-import static org.zwobble.precisely.Matchers.equalTo;
-
-public abstract class SourceSerializationTests {
- private final BiFunction<Source, Optional<Source>, byte[]> serialize;
- private final BiFunction<byte[], Optional<Source>, Source> deserialize;
-
- public SourceSerializationTests(
- BiFunction<Source, Optional<Source>, byte[]> serialize,
- BiFunction<byte[], Optional<Source>, Source> deserialize
- ) {
- this.serialize = serialize;
- this.deserialize = deserialize;
- }
-
- private byte[] serializeSource(
- Source source,
- Optional<Source> parentSource
- ) {
- return this.serialize.apply(source, parentSource);
- }
-
- private Source deserializeSource(
- byte[] serializedSource,
- Optional<Source> parentSource
- ) {
- return this.deserialize.apply(serializedSource, parentSource);
- }
-
- @Test
- public void canSerializeNullSource() {
- var source = Sources.NULL;
-
- var deserializedSource = deserializeSource(
- serializeSource(source, Optional.empty()),
- Optional.empty()
- );
-
- assertThat(deserializedSource, equalTo(source));
- }
-
- @Test
- public void canSerializeRuntimeSource() {
- var source = Sources.RUNTIME;
-
- var deserializedSource = deserializeSource(
- serializeSource(source, Optional.empty()),
- Optional.empty()
- );
-
- assertThat(deserializedSource, equalTo(source));
- }
-
- @Test
- public void whenFileFragmentSourceHasNoParentThenSourceTextIsPreserved() {
- var sourceText = SourceText.fromString("a/b", "<contents>");
- var source = new FileFragmentSource(new SourceRange(
- sourceText,
- new SourcePosition(sourceText, 2),
- new SourcePosition(sourceText, 5)
- ));
-
- var deserializedSource = deserializeSource(
- serializeSource(source, Optional.empty()),
- Optional.empty()
- );
-
- assertThat(deserializedSource.describe(), equalTo(source.describe()));
- }
-
- @Test
- public void whenFileFragmentSourceNoExplicitSourceTextThenSourceTextFromParentIsReused() {
- var sourceText = SourceText.fromString("a/b", "<contents>");
- var sourceRange = new SourceRange(
- sourceText,
- new SourcePosition(sourceText, 2),
- new SourcePosition(sourceText, 5)
- );
- var source = new FileFragmentSource(sourceRange);
- var parentSource = new FileFragmentSource(new SourceRange(
- sourceText,
- new SourcePosition(sourceText, 0),
- new SourcePosition(sourceText, 10)
- ));
-
- var deserializedSource = (FileFragmentSource) deserializeSource(
- serializeSource(source, Optional.of(parentSource)),
- Optional.of(parentSource)
- );
-
- assertThat(deserializedSource.describe(), equalTo(source.describe()));
- assertThat(deserializedSource.sourceRange().sourceText() == sourceText, equalTo(true));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java b/src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java
deleted file mode 100644
index 731c302d..00000000
--- a/src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.shedlang.compiler.sources.serialization;
-
-import com.google.flatbuffers.FlatBufferBuilder;
-import org.shedlang.compiler.sources.SourceSerializationTests;
-import org.shedlang.compiler.sources.flatbuffers.SourceFbs;
-
-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);
- }
- );
- }
-}