Add tests for str.__iter__ and str.__next__

This commit is contained in:
Marcin Pajkowski
2019-07-24 01:07:08 +02:00
parent db8eb7b8c3
commit 6aeec34df0

View File

@@ -263,3 +263,33 @@ assert "\u0041" == "A"
assert "\u00BE" == "¾"
assert "\u9487" == ""
assert "\U0001F609" == "😉"
# test str iter
iterable_str = "123456789"
str_iter = iter(iterable_str)
assert next(str_iter) == "1"
assert next(str_iter) == "2"
assert next(str_iter) == "3"
assert next(str_iter) == "4"
assert next(str_iter) == "5"
assert next(str_iter) == "6"
assert next(str_iter) == "7"
assert next(str_iter) == "8"
assert next(str_iter) == "9"
assert next(str_iter, None) == None
assert_raises(StopIteration, lambda: next(str_iter))
str_iter_reversed = reversed(iterable_str)
assert next(str_iter_reversed) == "9"
assert next(str_iter_reversed) == "8"
assert next(str_iter_reversed) == "7"
assert next(str_iter_reversed) == "6"
assert next(str_iter_reversed) == "5"
assert next(str_iter_reversed) == "4"
assert next(str_iter_reversed) == "3"
assert next(str_iter_reversed) == "2"
assert next(str_iter_reversed) == "1"
assert next(str_iter_reversed, None) == None
assert_raises(StopIteration, lambda: next(str_iter_reversed))