diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-09-16 15:42:53 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-09-16 15:42:53 +0100 |
| commit | 4fcb9922d9d6369529b398b09d1021cffeccfd5c (patch) | |
| tree | 5a61d1b5db77a0eccfde719382be8ed21f544aae /src/test/java | |
| parent | a06341080c61372bb58fba7f1aa29caa863b7ee9 (diff) | |
Handle invalid field name
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")); + } } |
