package de.fuberlin.bii.dfaprovider; import java.io.File; import org.junit.Assert; import org.junit.Test; import de.fuberlin.bii.bufferedreader.*; import de.fuberlin.bii.regextodfaconverter.MinimalDfa; import de.fuberlin.bii.tokenmatcher.StatePayload; import de.fuberlin.bii.tokenmatcher.Token; import de.fuberlin.bii.tokenmatcher.Tokenizer; import de.fuberlin.bii.utils.Notification; /** * Test-Klasse für die DirectMinimalDfaBuilder-Klasse. * * @author Daniel Rotar * */ public class DirectMinimalDfaBuilderTest { /** * Test of buildMinimalDfa method, of class IndirectMinimalDfaBuilder. */ @SuppressWarnings("static-method") @Test public void testBuildMinimalDfa() throws Exception { Notification.enableDebugPrinting(); File rdFile = new File("tests/resources/de/fuberlin/bii/def/dfaprovider/test.rd"); String sourceFilename = "tests/resources/de/fuberlin/bii/source/dfaprovider/test.fun"; MinimalDfa<Character, StatePayload> mDfa = null; MinimalDfaBuilder builder = new DirectMinimalDfaBuilder(); mDfa = builder.buildMinimalDfa(rdFile); LexemeReader lexemeReader = new BufferedLexemeReader(sourceFilename); Tokenizer tokenizer = new Tokenizer(lexemeReader, mDfa); Token currentToken; String tokenString; String[] tokensToFind = {"<KEYWORD, IF>", "<ID, myvar9>", "<BRACKET, {>", "<KEYWORD, RETURN>", "<ID, myvar9>", "<BRACKET, }>"}; int i = 0; while ( !Token.isEofToken( currentToken = tokenizer.getNextToken())) { tokenString = "<" + currentToken.getType() + ", " + currentToken.getAttribute().toString() + ">"; Assert.assertEquals(tokensToFind[i], tokenString); System.out.println(tokenString); i++; } Assert.assertEquals(i, tokensToFind.length); } }