40 lines
1.1 KiB
Java
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());
|
|
}
|
|
|
|
}
|