| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- # Tests for deques with "check overflow" flag and other extensions
- # wrt to CPython.
- try:
- try:
- from ucollections import deque
- except ImportError:
- from collections import deque
- except ImportError:
- print("SKIP")
- raise SystemExit
- # Initial sequence is not supported
- try:
- deque([1, 2, 3], 10)
- except ValueError:
- print("ValueError")
- # Not even empty list, only empty tuple
- try:
- deque([], 10)
- except ValueError:
- print("ValueError")
- # Only fixed-size deques are supported, so length arg is mandatory
- try:
- deque(())
- except TypeError:
- print("TypeError")
- d = deque((), 2, True)
- try:
- d.popleft()
- except IndexError:
- print("IndexError")
- print(d.append(1))
- print(d.popleft())
- d.append(2)
- print(d.popleft())
- d.append(3)
- d.append(4)
- print(d.popleft(), d.popleft())
- try:
- d.popleft()
- except IndexError as e:
- print(repr(e))
- d.append(5)
- d.append(6)
- print(len(d))
- try:
- d.append(7)
- except IndexError as e:
- print(repr(e))
- print(len(d))
- print(d.popleft(), d.popleft())
- print(len(d))
- try:
- d.popleft()
- except IndexError as e:
- print(repr(e))
|