Merge branch 'fix/126-missing-key-is-not-detected-by-tokenclassifier' into 'main'
Detect missing keys while classifying tokens Closes #126 See merge request cs108-fs26/Gruppe-13!150
This commit was merged in pull request #306.
This commit is contained in:
+1
-1
@@ -48,7 +48,7 @@ public class TokenClassifier {
|
||||
}
|
||||
|
||||
private static void validateSeparator(List<RawToken> rawTokens, int index) {
|
||||
boolean missingKey = index == 0 || rawTokens.get(index - 1).type() != RawTokenType.WORD;
|
||||
boolean missingKey = index <= 1 || rawTokens.get(index - 1).type() != RawTokenType.WORD;
|
||||
|
||||
boolean missingValue =
|
||||
index + 1 >= rawTokens.size()
|
||||
|
||||
+9
@@ -63,6 +63,15 @@ public class TokenClassifierTest {
|
||||
assertEquals("Expected VALUE after '='", ex.getMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMissingKeyBeforeSeparatorThrows() {
|
||||
List<RawToken> raw = Tokenizer.tokenize("CMD =VALUE");
|
||||
|
||||
TokenizerException ex =
|
||||
assertThrows(TokenizerException.class, () -> TokenClassifier.classify(raw));
|
||||
assertEquals("Expected KEY before '='", ex.getMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testNextWordIsKeyThrows() {
|
||||
List<RawToken> raw = Tokenizer.tokenize("CMD KEY1=KEY2=42");
|
||||
|
||||
Reference in New Issue
Block a user