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.SimpleTokenStream;
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 SimpleTokenStreamTest {
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 SimpleTokenStream stream = SimpleTokenStream.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(t1, stream.peek());
40 assertEquals(t1, stream.next());
41 assertEquals(true, stream.hasNext());
42 assertEquals(t2, stream.peek());
43 assertEquals(t2, stream.next());
44 assertEquals(true, stream.hasNext());
45 assertEquals(t3, stream.peek());
46 assertEquals(t3, stream.next());
47 assertEquals(true, stream.hasNext());
48 assertEquals(t4, stream.peek());
49 assertEquals(t4, stream.next());
50 assertEquals(true, stream.hasNext());
51 assertEquals(t5, stream.peek());
52 assertEquals(t5, stream.next());
53 assertEquals(true, stream.hasNext());
54 assertEquals(t6, stream.peek());
55 assertEquals(t6, stream.next());
56 assertEquals(true, stream.hasNext());
57 assertEquals(t7, stream.peek());
58 assertEquals(t7, stream.next());
59 assertEquals(true, stream.hasNext());
60 assertEquals(t8, stream.peek());
61 assertEquals(t8, stream.next());
62 assertEquals(false, stream.hasNext());
63 }
64
65 }