aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-12-23 11:53:39 +0000
committerMichael Williamson <mike@zwobble.org>2024-12-23 11:53:39 +0000
commitde20ae24e555535cfca7af0a4f8a48eeed2528e8 (patch)
treedca2bf8772ab0b2d1f139647381fd56477ed23b1 /src/test/java
parent0d6fa0bd65e3ce2cdf94ce3867d3be15ec44c69e (diff)
Use TomlTableWithSource in ProfileConfig and GcConfig
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/config/GcConfigTests.java40
-rw-r--r--src/test/java/org/shedlang/compiler/config/ProfileConfigTests.java21
2 files changed, 33 insertions, 28 deletions
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,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.junit.jupiter.api.Assertions.assertThrows;
import static org.zwobble.precisely.AssertThat.assertThat;
@@ -9,23 +10,14 @@ 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",