1 package de.fhdw.wtf.common.stream.test; 2 3 import static org.junit.Assert.assertEquals; 4 5 import org.junit.Test; 6 7 import de.fhdw.wtf.common.stream.FilteredTokenStream; 8 import de.fhdw.wtf.common.token.CommentTextToken; 9 import de.fhdw.wtf.common.token.IdentifierToken; 10 import de.fhdw.wtf.common.token.Position; 11 import de.fhdw.wtf.common.token.Token; 12 import de.fhdw.wtf.common.token.WhitespaceToken; 13 14 public class FilteredTokenStreamTest { 15 16 @Test 17 public void test() { 18 19 final Token t1 = WhitespaceToken.create("t1", Position.create("", 0 + 1, 0 + 1, 0)); 20 final Token t2 = IdentifierToken.create("t2", Position.create("", 0 + 1, 0 + 1, 0)); 21 final Token t3 = IdentifierToken.create("t3", Position.create("", 0 + 1, 0 + 1, 0)); 22 final Token t4 = WhitespaceToken.create("t4", Position.create("", 0 + 1, 0 + 1, 0)); 23 final Token t5 = CommentTextToken.create("t5", Position.create("", 0 + 1, 0 + 1, 0)); 24 final Token t6 = WhitespaceToken.create("t6", Position.create("", 0 + 1, 0 + 1, 0)); 25 final Token t7 = IdentifierToken.create("t7", Position.create("", 0 + 1, 0 + 1, 0)); 26 final Token t8 = WhitespaceToken.create("t8", Position.create("", 0 + 1, 0 + 1, 0)); 27 28 final FilteredTokenStream stream = FilteredTokenStream.create(); 29 stream.add(t1); 30 stream.add(t2); 31 stream.add(t3); 32 stream.add(t4); 33 stream.add(t5); 34 stream.add(t6); 35 stream.add(t7); 36 stream.add(t8); 37 38 assertEquals(true, stream.hasNext()); 39 assertEquals(t2, stream.peek()); 40 assertEquals(t2, stream.next()); 41 assertEquals(true, stream.hasNext()); 42 assertEquals(t3, stream.peek()); 43 assertEquals(t3, stream.next()); 44 assertEquals(true, stream.hasNext()); 45 assertEquals(t7, stream.peek()); 46 assertEquals(t7, stream.next()); 47 assertEquals(false, stream.hasNext()); 48 } 49 50 }