summaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java18
1 files changed, 12 insertions, 6 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 1d968d6..fdf88ee 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerSumDefinitionTests.java
@@ -49,13 +49,15 @@ public class TypeCheckerSumDefinitionTests {
DocComment.EMPTY,
NullSource.INSTANCE
);
- var context = TypeCheckerContextArb.namespaceContext(NamespaceName.of("a", "b"));
- context.declare(rectangleType.name());
- context.define(rectangleType.name(), new TypeLevelValueType(rectangleType));
- context.declare(triangleType.name());
- context.define(triangleType.name(), new TypeLevelValueType(triangleType));
+ var globalContext = TypeCheckerGlobalContext.initial();
+ var namespaceContext = globalContext
+ .enterNamespace(NamespaceName.of("a", "b"));
+ namespaceContext.declare(rectangleType.name());
+ namespaceContext.define(rectangleType.name(), new TypeLevelValueType(rectangleType));
+ namespaceContext.declare(triangleType.name());
+ namespaceContext.define(triangleType.name(), new TypeLevelValueType(triangleType));
- var typed = typeCheckNamespaceStatement(untyped, context);
+ var typed = typeCheckNamespaceStatement(untyped, namespaceContext);
assertThat(typed, instanceOf(
TypedSumDefinitionNode.class,
@@ -76,5 +78,9 @@ public class TypeCheckerSumDefinitionTests {
)
)
));
+ var sumType = new SumType(NamespaceName.of("a", "b"), "X");
+ var typesInfo = globalContext.toTypesInfo();
+ assertThat(typesInfo.variantOf(rectangleType), isSequence(equalTo(sumType)));
+ assertThat(typesInfo.variantOf(triangleType), isSequence(equalTo(sumType)));
}
}