def test_reset_peek(self): ps = ParserStream("abcd") ps.next() ps.peek() ps.peek() ps.reset_peek() self.assertEqual('b', ps.current()) self.assertEqual('b', ps.current_peek()) self.assertEqual(1, ps.get_peek_index()) self.assertEqual(1, ps.get_index()) ps.peek() self.assertEqual('b', ps.current()) self.assertEqual('c', ps.current_peek()) self.assertEqual(2, ps.get_peek_index()) self.assertEqual(1, ps.get_index()) ps.peek() ps.peek() ps.peek() ps.reset_peek() self.assertEqual('b', ps.current()) self.assertEqual('b', ps.current_peek()) self.assertEqual(1, ps.get_peek_index()) self.assertEqual(1, ps.get_index()) self.assertEqual('c', ps.peek()) self.assertEqual('b', ps.current()) self.assertEqual('c', ps.current_peek()) self.assertEqual(2, ps.get_peek_index()) self.assertEqual(1, ps.get_index()) self.assertEqual('d', ps.peek()) self.assertEqual(None, ps.peek())
def test_reset_peek(self): ps = ParserStream("abcd") ps.next() ps.peek() ps.peek() ps.reset_peek() self.assertEqual('b', ps.current_char) self.assertEqual('b', ps.current_peek) self.assertEqual(0, ps.peek_offset) self.assertEqual(1, ps.index) ps.peek() self.assertEqual('b', ps.current_char) self.assertEqual('c', ps.current_peek) self.assertEqual(1, ps.peek_offset) self.assertEqual(1, ps.index) ps.peek() ps.peek() ps.peek() ps.reset_peek() self.assertEqual('b', ps.current_char) self.assertEqual('b', ps.current_peek) self.assertEqual(0, ps.peek_offset) self.assertEqual(1, ps.index) self.assertEqual('c', ps.peek()) self.assertEqual('b', ps.current_char) self.assertEqual('c', ps.current_peek) self.assertEqual(1, ps.peek_offset) self.assertEqual(1, ps.index) self.assertEqual('d', ps.peek()) self.assertEqual(None, ps.peek())