diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-20 19:09:57 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-21 15:56:58 +0000 |
| commit | 48433738e13dec5fb1dbe77e6e9acacd8b66b954 (patch) | |
| tree | 721e62ac965904ac0a14d788dfe3dbe7846f5b35 /src/test/java | |
| parent | c7d0059d8098d1f3cb084492b2bdda0c486ec3a3 (diff) | |
Test message of CircularNamespaceDependencyError
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/typechecker/errors/CircularNamespaceDependencyErrorTests.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/typechecker/errors/CircularNamespaceDependencyErrorTests.java b/src/test/java/org/shedlang/compiler/typechecker/errors/CircularNamespaceDependencyErrorTests.java new file mode 100644 index 00000000..cb9ca0c1 --- /dev/null +++ b/src/test/java/org/shedlang/compiler/typechecker/errors/CircularNamespaceDependencyErrorTests.java @@ -0,0 +1,29 @@ +package org.shedlang.compiler.typechecker.errors; + +import org.junit.jupiter.api.Test; +import org.shedlang.compiler.sources.Sources; +import org.shedlang.compiler.types.NamespaceName; + +import java.util.List; + +import static org.zwobble.precisely.AssertThat.assertThat; +import static org.zwobble.precisely.Matchers.equalTo; + +public class CircularNamespaceDependencyErrorTests { + @Test + public void messageIncludesCycle() { + var error = new CircularNamespaceDependencyError( + List.of( + NamespaceName.of("A"), + NamespaceName.of("B"), + NamespaceName.of("C"), + NamespaceName.of("A") + ), + Sources.NULL + ); + + var message = error.getMessage(); + + assertThat(message, equalTo("Cyclic namespace dependencies: A -> B -> C -> A")); + } +} |
