summaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java5
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/types/TypeMatchers.java13
2 files changed, 18 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
index 5a2f7cb..cfe52c3 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerNamespaceTests.java
@@ -10,6 +10,7 @@ import org.zwobble.hobgoblin.compiler.types.StructType;
import java.util.List;
+import static org.zwobble.hobgoblin.compiler.types.TypeMatchers.isMetaType;
import static org.zwobble.precisely.AssertThat.assertThat;
import static org.zwobble.precisely.Matchers.*;
@@ -41,5 +42,9 @@ public class TypeCheckerNamespaceTests {
)
))
));
+ assertThat(
+ context.namespaceFields(NamespaceName.of("a", "b")).get("X"),
+ isMetaType(new StructType(NamespaceName.of("a", "b"), "X"))
+ );
}
}
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/types/TypeMatchers.java b/src/test/java/org/zwobble/hobgoblin/compiler/types/TypeMatchers.java
new file mode 100644
index 0000000..d676d89
--- /dev/null
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/types/TypeMatchers.java
@@ -0,0 +1,13 @@
+package org.zwobble.hobgoblin.compiler.types;
+
+import org.zwobble.precisely.Matcher;
+
+import static org.zwobble.precisely.Matchers.equalTo;
+
+public class TypeMatchers {
+ private TypeMatchers() {}
+
+ public static Matcher<Type> isMetaType(Type type) {
+ return equalTo(new TypeLevelValueType(type));
+ }
+}