12
Traceback (most recent call last):
16
Traceback (most recent call last):
22
>>> next(123) # doctest: +ELLIPSIS
23
Traceback (most recent call last):
24
TypeError: ...int... object is not an iterator
27
def test_next_not_iterable(it):
29
>>> test_next_not_iterable(123)
30
Traceback (most recent call last):
31
TypeError: int object is not an iterator
35
def test_single_next(it):
37
>>> it = iter([1,2,3])
38
>>> test_single_next(it) # 1
40
>>> test_single_next(it) # 2
42
>>> test_single_next(it) # 3
44
>>> test_single_next(it) # 4
45
Traceback (most recent call last):
47
>>> test_single_next(it)
48
Traceback (most recent call last):
52
... def __init__(self, value):
53
... self.value = value
54
... def __next__(self):
55
... raise StopIteration(self.value)
57
# Assert that the StopIteration value doesn't get lost.
58
>>> test_single_next(It(42))
59
Traceback (most recent call last):
64
def test_default_next(it, default):
66
>>> it = iter([1,2,3])
67
>>> test_default_next(it, 99) # 1
69
>>> test_default_next(it, 99) # 2
71
>>> test_default_next(it, 99) # 3
73
>>> test_default_next(it, 99) # 4
75
>>> test_default_next(it, 99) # 5
78
return next(it, default)
80
def test_next_override(it):
82
>>> it = iter([1,2,3])
83
>>> test_next_override(it) # 1
85
>>> test_next_override(it) # 2
87
>>> test_next_override(it) # 3
89
>>> test_next_override(it) # 4