aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-09-16 15:39:01 +0100
committerMichael Williamson <mike@zwobble.org>2023-09-16 15:39:01 +0100
commita06341080c61372bb58fba7f1aa29caa863b7ee9 (patch)
tree0dbed3a58ed374b06cc72faeccb5d9a4aa559847 /src/test/java
parent4ce47e845323f67bb3a6e3ef1c6314eb459d7622 (diff)
Add test for NamespaceTypeInfo
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java b/src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java
new file mode 100644
index 00000000..0aba6f1d
--- /dev/null
+++ b/src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java
@@ -0,0 +1,35 @@
+package org.shedlang.compiler.types;
+
+import org.junit.jupiter.api.Test;
+import org.shedlang.compiler.util.P;
+
+import java.util.Map;
+
+import static org.zwobble.precisely.AssertThat.assertThat;
+import static org.zwobble.precisely.Matchers.equalTo;
+
+public class NamespaceTypeInfoTests {
+ @Test
+ public void fieldCountReturnsNumberOfFields() {
+ var namespaceTypeInfo = new NamespaceTypeInfo(P.orderedMap(
+ Map.entry("a", Types.INT),
+ Map.entry("b", Types.STRING)
+ ));
+
+ var result = namespaceTypeInfo.fieldCount();
+
+ assertThat(result, equalTo(2));
+ }
+
+ @Test
+ public void fieldIndexReturnsIndexOfFieldInMap() {
+ var namespaceTypeInfo = new NamespaceTypeInfo(P.orderedMap(
+ Map.entry("a", Types.INT),
+ Map.entry("b", Types.STRING)
+ ));
+
+ var result = namespaceTypeInfo.fieldIndex("b");
+
+ assertThat(result, equalTo(1));
+ }
+}