aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/shedlang/compiler/tokeniser/InfinitelyPaddedIteratorTests.java
blob: 44628533c9b09cc83435ec79f391cd1719f2c944 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package org.shedlang.compiler.tokeniser;

import org.junit.jupiter.api.Test;

import java.util.List;

import static org.zwobble.precisely.AssertThat.assertThat;
import static org.zwobble.precisely.Matchers.equalTo;

public class InfinitelyPaddedIteratorTests {
    @Test
    public void iteratesThroughListThenAlwaysReturnsEnd() {
        var tokens = new InfinitelyPaddedIterator<>(
            List.of("one", "two", "three"),
            "end"
        );

        assertThat(tokens.get(), equalTo("one"));
        tokens.moveNext();
        assertThat(tokens.get(), equalTo("two"));
        tokens.moveNext();
        assertThat(tokens.get(), equalTo("three"));
        tokens.moveNext();
        assertThat(tokens.get(), equalTo("end"));
        tokens.moveNext();
        assertThat(tokens.get(), equalTo("end"));
    }
}