package org.watertemplate.interpreter.parser; import org.junit.Test; import org.watertemplate.interpreter.parser.exception.NoMoreTokensOnStreamException; import static org.junit.Assert.assertNotNull; import static org.watertemplate.interpreter.parser.TokenFixture.*; public class NonTerminalStartSymbolTest { @Test public void onlyEndOfInput() { TokenStream tokenStream = new TokenStream( Token.END_OF_INPUT ); assertNotNull(NonTerminal.TEMPLATE.buildAbstractSyntaxTree(tokenStream)); } @Test(expected = NoMoreTokensOnStreamException.class) public void missingEndOfInput() { TokenStream tokenStream = new TokenStream( Wave(), PropertyKey("x"), Wave(), Text("a text"), Wave(), PropertyKey("y"), Wave(), Text("another text") ); NonTerminal.TEMPLATE.buildAbstractSyntaxTree(tokenStream); } @Test public void regular() { TokenStream tokenStream = new TokenStream( Wave(), PropertyKey("x"), Wave(), Text("a text"), Wave(), PropertyKey("y"), Wave(), Text("another text"), Token.END_OF_INPUT ); assertNotNull(NonTerminal.TEMPLATE.buildAbstractSyntaxTree(tokenStream)); } }