@@ -0,0 +1,1117 @@
+package org.twig.syntax;%0A%0Aimport org.junit.Assert;%0Aimport org.junit.Test;%0Aimport org.twig.exception.SyntaxErrorException;%0A%0Apublic class TokenStreamTests %7B%0A    @Test%0A    public void canNext() throws SyntaxErrorException %7B%0A        TokenStream tokenStream = new TokenStream(%22aFile%22);%0A        Token token1 = new Token(Token.Type.TEXT, %22foo%22, 1);%0A        tokenStream.add(token1);%0A        Token token2 = new Token(Token.Type.VAR_START, null, 1);%0A        tokenStream.add(token2);%0A%0A        Assert.assertSame(%221st nexted token should be token1%22, token1, tokenStream.next());%0A        Assert.assertSame(%222nd nexted token should be token2%22, token2, tokenStream.next());%0A    %7D%0A%0A    @Test%0A    public void canLook() throws SyntaxErrorException %7B%0A        TokenStream tokenStream = new TokenStream(%22aFile%22);%0A        Token token1 = new Token(Token.Type.TEXT, %22foo%22, 1);%0A        tokenStream.add(token1);%0A%0A        Assert.assertSame(%22Look at token at index 0 should return 1st token%22, token1, tokenStream.look(0));%0A        Assert.assertSame(%221st nexted token should be 1st token even after looking%22, token1, tokenStream.next());%0A    %7D%0A%7D%0A 

Add unit tests for TokenStream