예제 #1
0
def test_peek():
    lexer = Lexer('1 + 3')

    assert lexer.peek() == ' '
    lexer.advance()

    assert lexer.peek() == '+'
    lexer.advance()

    assert lexer.peek() == ' '
    lexer.advance()

    assert lexer.peek() == '3'
    lexer.advance()

    assert lexer.peek() is ''
    lexer.advance()
예제 #2
0
def test_advance():
    lexer = Lexer('1 + 3')

    lexer.advance()
    assert repr(lexer) == '<Lexer 1[ ]+ 3>'

    lexer.advance()
    assert repr(lexer) == '<Lexer 1 [+] 3>'

    lexer.advance()
    assert repr(lexer) == '<Lexer 1 +[ ]3>'

    lexer.advance()
    assert repr(lexer) == '<Lexer 1 + [3]>'

    lexer.advance()
    assert repr(lexer) == '<Lexer EOF>'