diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-10-21 13:38:30 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-10-21 13:38:30 +0100 |
| commit | 2759cad35ee775aa655f06598172603797571a9e (patch) | |
| tree | e9b26b14dbd106bae03fd95bd265d1ccf9925b65 /src/test/java | |
| parent | 7b1ab8dd8d0e61e466bd277794a582a184f337c7 (diff) | |
Add imports as bound variables
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/ast/typed/TypedNamespaceNodeMatcher.java | 8 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/typechecker/TypeCheckerNamespaceTests.java | 10 |
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"))) ); } |
