From 48433738e13dec5fb1dbe77e6e9acacd8b66b954 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 20 Dec 2023 19:09:57 +0000 Subject: Test message of CircularNamespaceDependencyError --- .../CircularNamespaceDependencyErrorTests.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/test/java/org/shedlang/compiler/typechecker/errors/CircularNamespaceDependencyErrorTests.java (limited to 'src/test/java') 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")); + } +} -- cgit v1.2.3