From de20ae24e555535cfca7af0a4f8a48eeed2528e8 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 23 Dec 2024 11:53:39 +0000 Subject: Use TomlTableWithSource in ProfileConfig and GcConfig --- .../shedlang/compiler/config/GcConfigTests.java | 40 ++++++++++------------ .../compiler/config/ProfileConfigTests.java | 21 ++++++++---- 2 files changed, 33 insertions(+), 28 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/config/GcConfigTests.java b/src/test/java/org/shedlang/compiler/config/GcConfigTests.java index 2f6c6c93..892faec9 100644 --- a/src/test/java/org/shedlang/compiler/config/GcConfigTests.java +++ b/src/test/java/org/shedlang/compiler/config/GcConfigTests.java @@ -1,31 +1,23 @@ package org.shedlang.compiler.config; import org.junit.jupiter.api.Test; -import org.tomlj.Toml; +import org.shedlang.compiler.config.toml.TomlTableWithSource; +import org.shedlang.compiler.sources.Sources; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.*; public class GcConfigTests { - @Test - public void whenNameIsMissingThenErrorIsThrown() { - var error = assertThrows( - IllegalArgumentException.class, - () -> GcConfig.fromToml(Toml.parse("")) - ); - - assertThat(error.getMessage(), equalTo("Missing GC name")); - } - @Test public void whenNameIsUnrecognisedThenErrorIsThrown() { + var source = Sources.string(""" + name = "huh" + """); + var error = assertThrows( IllegalArgumentException.class, - () -> GcConfig.fromToml(Toml.parse(""" - name = "huh" - """ - )) + () -> GcConfig.fromToml(TomlTableWithSource.parse(source)) ); assertThat(error.getMessage(), equalTo("Unrecognised GC name: \"huh\"")); @@ -33,28 +25,34 @@ public class GcConfigTests { @Test public void canParseConfigForBump() { - var config = GcConfig.fromToml(Toml.parse(""" + var source = Sources.string(""" name = "bump" - """)); + """); + + var config = GcConfig.fromToml(TomlTableWithSource.parse(source)); assertThat(config, instanceOf(GcBumpConfig.class)); } @Test public void canParseMinimalConfigForMarkAndSweep() { - var config = GcConfig.fromToml(Toml.parse(""" + var source = Sources.string(""" name = "mark-and-sweep" - """)); + """); + + var config = GcConfig.fromToml(TomlTableWithSource.parse(source)); assertThat(config, instanceOf(GcMarkAndSweepConfig.class)); } @Test public void additionalFieldsCanBeUsedBySpecificGcConfig() { - var config = GcConfig.fromToml(Toml.parse(""" + var source = Sources.string(""" name = "mark-and-sweep" collect-interval = 10000 - """)); + """); + + var config = GcConfig.fromToml(TomlTableWithSource.parse(source)); assertThat(config, instanceOf( GcMarkAndSweepConfig.class, diff --git a/src/test/java/org/shedlang/compiler/config/ProfileConfigTests.java b/src/test/java/org/shedlang/compiler/config/ProfileConfigTests.java index 3a3e828c..7e779252 100644 --- a/src/test/java/org/shedlang/compiler/config/ProfileConfigTests.java +++ b/src/test/java/org/shedlang/compiler/config/ProfileConfigTests.java @@ -1,7 +1,8 @@ package org.shedlang.compiler.config; import org.junit.jupiter.api.Test; -import org.tomlj.Toml; +import org.shedlang.compiler.config.toml.TomlTableWithSource; +import org.shedlang.compiler.sources.Sources; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.*; @@ -9,28 +10,34 @@ import static org.zwobble.precisely.Matchers.*; public class ProfileConfigTests { @Test public void canParseProfileConfigWithName() { - var config = ProfileConfig.fromToml(Toml.parse(""" + var source = Sources.string(""" name = "one" - """)); + """); + + var config = ProfileConfig.fromToml(TomlTableWithSource.parse(source)); assertThat(config, has("name", x -> x.name(), equalTo("one"))); } @Test public void canParseProfileConfigWithoutGc() { - var config = ProfileConfig.fromToml(Toml.parse(""" + var source = Sources.string(""" name = "one" - """)); + """); + + var config = ProfileConfig.fromToml(TomlTableWithSource.parse(source)); assertThat(config, has("name", x -> x.gc(), isOptionalEmpty())); } @Test public void canParseProfileConfigWithGc() { - var config = ProfileConfig.fromToml(Toml.parse(""" + var source = Sources.string(""" name = "one" gc.name = "bump" - """)); + """); + + var config = ProfileConfig.fromToml(TomlTableWithSource.parse(source)); assertThat(config, has( "gc", -- cgit v1.2.3