diff options
Diffstat (limited to 'src/test/java/org/shedlang/compiler/sources')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/sources/SourceSerializationTests.java | 104 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/sources/serialization/SourceToFlatbuffersTests.java | 25 |
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); - } - ); - } -} |
