def test_consume_two_letter(self): s = TextScanner("word") s.consume(2) assert s.peek() == "r"
def test_scan_empty_text(self): s = TextScanner("") assert s.is_empty is True assert s.has_data is False assert s.peek() == "" # empty string signals end of text assert s.get() == ""
def test_consume_one_letter(self): s = TextScanner("word") s.consume() assert s.peek() == "o"
def test_getting_next_letter_forwards_scan_position(self): s = TextScanner("word") assert s.get() == "w" assert s.peek() == "o"
def test_peeking_beyond_word_boundaries_returns_empty_string(self): s = TextScanner("word") assert s.peek(4) == ""
def test_peeking_more_letters_ahead(self): s = TextScanner("word") assert s.peek(1) == "o" assert s.peek(2) == "r"
def test_peeking_next_letter(self): s = TextScanner("word") assert s.peek() == "w"