diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java | 16 |
1 files changed, 16 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 index 0aba6f1d..c22f312a 100644 --- a/src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java +++ b/src/test/java/org/shedlang/compiler/types/NamespaceTypeInfoTests.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.util.P; import java.util.Map; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; @@ -32,4 +33,19 @@ public class NamespaceTypeInfoTests { assertThat(result, equalTo(1)); } + + @Test + public void whenFieldDoesNotExistThenFieldIndexThrowsError() { + var namespaceTypeInfo = new NamespaceTypeInfo(P.orderedMap( + Map.entry("a", Types.INT), + Map.entry("b", Types.STRING) + )); + + var error = assertThrows( + NoSuchFieldInternalError.class, + () -> namespaceTypeInfo.fieldIndex("c") + ); + + assertThat(error.fieldName(), equalTo("c")); + } } |
