aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-13 23:31:37 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-13 23:31:37 +0100
commitb003b9c7bad4126d7963d1a28ef46faeab4b4b6e (patch)
tree4843e783dee5252589a94d3272a5a2c43eda2217 /src/test/java
parentca6da7e84d372cb1922fac1a2b2513b7af6b975f (diff)
Store field names in typed namespace node
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/Typed.java2
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java8
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java11
3 files changed, 14 insertions, 7 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/typed/Typed.java b/src/test/java/org/shedlang/compiler/ast/typed/Typed.java
index a36c9679..ae709dd4 100644
--- a/src/test/java/org/shedlang/compiler/ast/typed/Typed.java
+++ b/src/test/java/org/shedlang/compiler/ast/typed/Typed.java
@@ -51,7 +51,7 @@ public class Typed {
NamespaceName namespaceName,
List<TypedNamespaceStatementNode> body
) {
- return new TypedNamespaceNode(namespaceName, body, Sources.NULL);
+ return new TypedNamespaceNode(namespaceName, body, List.of(), Sources.NULL);
}
public static TypedStringLiteralNode stringLiteral(String value) {
diff --git a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java
index dad777f6..26e6acbc 100644
--- a/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java
+++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedNodeMatchers.java
@@ -62,9 +62,13 @@ public class TypedNodeMatchers {
}
public static Matcher<TypedNamespaceNode> isTypedNamespaceNode(
- Matcher<Iterable<? extends TypedNamespaceStatementNode>> body
+ Matcher<Iterable<? extends TypedNamespaceStatementNode>> body,
+ Matcher<Iterable<? extends String>> fieldNames
) {
- return has("body", x -> x.body(), body);
+ return allOf(
+ has("body", x -> x.body(), body),
+ has("fieldNames", x -> x.fieldNames(), fieldNames)
+ );
}
public static Matcher<TypedParamNode> isTypedParamNode(
diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java
index 734ed89a..bbc4947c 100644
--- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java
+++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java
@@ -28,7 +28,7 @@ public class TypeCheckerNamespaceTests {
assertThat(
result.value(),
- isTypedNamespaceNode(isSequence())
+ isTypedNamespaceNode(isSequence(), isSequence())
);
}
@@ -47,9 +47,12 @@ public class TypeCheckerNamespaceTests {
assertThat(
result.value(),
- isTypedNamespaceNode(isSequence(
- isTypedFunctionDefinitionNode().withName("f")
- ))
+ isTypedNamespaceNode(
+ isSequence(
+ isTypedFunctionDefinitionNode().withName("f")
+ ),
+ isSequence(equalTo("f"))
+ )
);
}