aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-10-21 13:38:30 +0100
committerMichael Williamson <mike@zwobble.org>2023-10-21 13:38:30 +0100
commit2759cad35ee775aa655f06598172603797571a9e (patch)
treee9b26b14dbd106bae03fd95bd265d1ccf9925b65 /src/test/java
parent7b1ab8dd8d0e61e466bd277794a582a184f337c7 (diff)
Add imports as bound variables
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java8
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java10
2 files changed, 14 insertions, 4 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java b/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java
index f8ee5c8e..fbe4a0f9 100644
--- a/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java
+++ b/src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java
@@ -49,4 +49,12 @@ public class TypedNamespaceNodeMatcher implements Matcher<TypedNamespaceNode> {
submatchers.plus(has("body", x -> x.body(), body))
);
}
+
+ public Matcher<TypedNamespaceNode> withBoundVariableNames(
+ Matcher<Iterable<? extends String>> boundVariableNames
+ ) {
+ return new TypedNamespaceNodeMatcher(
+ submatchers.plus(has("boundVariableNames", x -> x.boundVariableNames(), boundVariableNames))
+ );
+ }
}
diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java
index a0fdd837..bddd7ba6 100644
--- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java
+++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java
@@ -46,10 +46,12 @@ public class TypeCheckerNamespaceTests {
assertThat(
result.value(),
- isTypedNamespaceNode().withImports(isSequence(
- isTypedImportNode(NamespaceName.of("A")),
- isTypedImportNode(NamespaceName.of("B"))
- ))
+ isTypedNamespaceNode()
+ .withImports(isSequence(
+ isTypedImportNode(NamespaceName.of("A")),
+ isTypedImportNode(NamespaceName.of("B"))
+ ))
+ .withBoundVariableNames(isSequence(equalTo("A"), equalTo("B")))
);
}