summaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-05-29 16:53:53 +0100
committerMichael Williamson <mike@zwobble.org>2026-05-29 16:53:53 +0100
commit44d29e7fec1d3b7e81cebf7c5274d9a053727bc1 (patch)
tree1b8f81ca2bef3277f844e6879a6de96a48a17324 /src/test/java/org
parent5117960fbc14ee7275fc6ee1193f9ee5e5c78554 (diff)
Use builder in TypeCheckerSumDefinitionTests
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
index 51de6a4..c3e7439 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
@@ -1,11 +1,16 @@
package org.zwobble.hobgoblin.compiler.typechecker;
import org.junit.jupiter.api.Test;
-import org.zwobble.hobgoblin.compiler.ast.DocComment;
-import org.zwobble.hobgoblin.compiler.ast.typed.*;
-import org.zwobble.hobgoblin.compiler.ast.untyped.*;
-import org.zwobble.hobgoblin.compiler.sources.NullSource;
-import org.zwobble.hobgoblin.compiler.types.*;
+import org.zwobble.hobgoblin.compiler.ast.typed.TypedSumDefinitionNode;
+import org.zwobble.hobgoblin.compiler.ast.typed.TypedSumVariantDefinitionNode;
+import org.zwobble.hobgoblin.compiler.ast.typed.TypedTypeLevelExpressionNode;
+import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedArb;
+import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode;
+import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode;
+import org.zwobble.hobgoblin.compiler.types.NamespaceName;
+import org.zwobble.hobgoblin.compiler.types.StructType;
+import org.zwobble.hobgoblin.compiler.types.SumType;
+import org.zwobble.hobgoblin.compiler.types.TypeLevelValueType;
import java.util.List;
@@ -16,12 +21,9 @@ import static org.zwobble.precisely.Matchers.*;
public class TypeCheckerSumDefinitionTests {
@Test
public void sumHasNamespaceFromContext() {
- var untyped = new UntypedSumDefinitionNode(
- "X",
- List.of(),
- DocComment.EMPTY,
- NullSource.INSTANCE
- );
+ var untyped = UntypedSumDefinitionNode.arbitrary()
+ .withName("X")
+ .build();
var context = TypeCheckerContextArb.namespaceContext(NamespaceName.of("a", "b"));
var typed = typeCheckNamespaceStatement(untyped, context);
@@ -40,15 +42,13 @@ public class TypeCheckerSumDefinitionTests {
public void variantsAreTypeChecked() {
var rectangleType = new StructType(NamespaceName.of("a", "b"), "Rectangle");
var triangleType = new StructType(NamespaceName.of("a", "b"), "Triangle");
- var untyped = new UntypedSumDefinitionNode(
- "X",
- List.of(
- new UntypedSumVariantDefinitionNode(UntypedArb.typeLevelReference("Rectangle"), NullSource.INSTANCE),
- new UntypedSumVariantDefinitionNode(UntypedArb.typeLevelReference("Triangle"), NullSource.INSTANCE)
- ),
- DocComment.EMPTY,
- NullSource.INSTANCE
- );
+ var untyped = UntypedSumDefinitionNode.arbitrary()
+ .withName("X")
+ .withVariants(List.of(
+ UntypedSumVariantDefinitionNode.arbitrary().withType(UntypedArb.typeLevelReference("Rectangle")).build(),
+ UntypedSumVariantDefinitionNode.arbitrary().withType(UntypedArb.typeLevelReference("Triangle")).build()
+ ))
+ .build();
var globalContext = TypeCheckerGlobalContext.initial();
var namespaceContext = globalContext
.enterNamespace(NamespaceName.of("a", "b"));