Files
dhbw-compilerbau/ÜB-Praxis-Scanner für Namen-Leer/src/de/dhbw/compiler/namenscanner/TokenStreamTest.java
2020-04-27 13:22:10 +02:00

40 lines
1.1 KiB
Java

/* **********************************************
* Duale Hochschule Baden-Württemberg Karlsruhe
* Prof. Dr. Jörn Eisenbiegler
*
* Vorlesung Übersetzerbau
* Praxis AS-Scanner mit JFlex
* - Testfall-Utility
*
* **********************************************
*/
package de.dhbw.compiler.namenscanner;
import static org.junit.Assert.assertEquals;
import java.io.StringReader;
import de.dhbw.compiler.namenscanner.NamenScanner;
import de.dhbw.compiler.namenscanner.Token;
public abstract class TokenStreamTest {
protected void testTokenList(String in, Token... TokenList) throws Exception {
NamenScanner scanner = new NamenScanner(new StringReader(in));
Token myToken;
for (Token expected : TokenList) {
myToken = scanner.nextToken();
assertEquals("Expect Token "+expected.toString()+". Error in type.",
expected.getType(), myToken.getType());
assertEquals("Expect Token "+expected.toString()+". Error in text.",
expected.getText(), myToken.getText());
}
myToken = scanner.nextToken();
assertEquals("Expected End of File (EOF), read " + myToken.toString() + ".", Token.EOF, myToken.getType());
}
}