Пример #1
0
def test_tokenstream_look_push():
    # look, push
    s = TokenStream(iter((Token('a', 1), Token('b', 2), Token('c', 3))))
    assert s.current == Token('a', 1)
    assert s.look() == Token('b', 2)
    s.next()
    assert s.look() == Token('c', 3)
    s.push(Token('b', 2))
    assert s.look() == Token('b', 2)
    s.push(Token('e', 4), current=True)
    assert s.current == Token('e', 4)
    assert s.look() == Token('b', 2)
Пример #2
0
def test_tokenstream_look_push():
    # look, push
    s = TokenStream(iter((Token('a', 1), Token('b', 2), Token('c', 3))))
    assert s.current == Token('a', 1)
    assert s.look() == Token('b', 2)
    s.next()
    assert s.look() == Token('c', 3)
    s.push(Token('b', 2))
    assert s.look() == Token('b', 2)
    s.push(Token('e', 4), current=True)
    assert s.current == Token('e', 4)
    assert s.look() == Token('b', 2)
Пример #3
0
def test_tokenstream_test_shift():
    # test
    s = TokenStream(iter((Token('a', 1), Token('b', 2), Token('c', 3))))
    assert s.test('a')
    s.next()
    assert s.test('b', 2)

    # shift
    assert s.current == Token('b', 2)
    s.shift(Token('f', 5))
    assert s.current == Token('f', 5)
    s.next()
    assert s.current == Token('b', 2)
Пример #4
0
def test_tokenstream_test_shift():
    # test
    s = TokenStream(iter((Token('a', 1), Token('b', 2), Token('c', 3))))
    assert s.test('a')
    s.next()
    assert s.test('b', 2)

    # shift
    assert s.current == Token('b', 2)
    s.shift(Token('f', 5))
    assert s.current == Token('f', 5)
    s.next()
    assert s.current == Token('b', 2)
Пример #5
0
def test_tokenstream_skip_next():
    # skip, next
    s = TokenStream(iter((Token('a', 1), Token('b', 2), Token('c', 3))))
    s.skip(1)
    assert s.current == Token('b', 2)
    s.next()
    assert s.current == Token('c', 3)
    s.push(Token('e', 4))
    assert s.current == Token('c', 3)
    s.next()
    assert s.current == Token('e', 4)
    s.next()
    assert s.current == Token('eof', None)
Пример #6
0
def test_tokenstream_skip_next():
    # skip, next
    s = TokenStream(iter((Token('a', 1), Token('b', 2), Token('c', 3))))
    s.skip(1)
    assert s.current == Token('b', 2)
    s.next()
    assert s.current == Token('c', 3)
    s.push(Token('e', 4))
    assert s.current == Token('c', 3)
    s.next()
    assert s.current == Token('e', 4)
    s.next()
    assert s.current == Token('eof', None)