def test_next(): stream = TokenStream(iter(TEST_STREAM)) for exp in TEST_STREAM: eq_(exp.as_tuple(), stream.current.as_tuple()) stream.next() assert_equal(stream.current.type, 'eof') # test `TokenStream.eof` as well assert_true(stream.eof)
def test_feed(): stream = TokenStream() for name in ('bold', 'italic', 'uff', 'papapapa', 'foo', 'python', 'spaghetti', 'car', 'mom'): stream.push(Token(name)) for idx, received in enumerate(stream): exp = TEST_STREAM[idx] assert_equal(exp.type, received.type) stream.push(Token('fam', 'foo'), True) assert_equal(stream.current.type, 'fam') assert_true(stream.test('fam', 'foo')) assert_equal(Token('fam', 'foo'), stream.expect('fam', 'foo'))