1# Tests for deques with "check overflow" flag and other extensions 2# wrt to CPython. 3try: 4 try: 5 from ucollections import deque 6 except ImportError: 7 from collections import deque 8except ImportError: 9 print("SKIP") 10 raise SystemExit 11 12 13# Initial sequence is not supported 14try: 15 deque([1, 2, 3], 10) 16except ValueError: 17 print("ValueError") 18 19# Not even empty list, only empty tuple 20try: 21 deque([], 10) 22except ValueError: 23 print("ValueError") 24 25# Only fixed-size deques are supported, so length arg is mandatory 26try: 27 deque(()) 28except TypeError: 29 print("TypeError") 30 31d = deque((), 2, True) 32 33try: 34 d.popleft() 35except IndexError: 36 print("IndexError") 37 38print(d.append(1)) 39print(d.popleft()) 40 41d.append(2) 42print(d.popleft()) 43 44d.append(3) 45d.append(4) 46print(d.popleft(), d.popleft()) 47try: 48 d.popleft() 49except IndexError as e: 50 print(repr(e)) 51 52d.append(5) 53d.append(6) 54print(len(d)) 55try: 56 d.append(7) 57except IndexError as e: 58 print(repr(e)) 59print(len(d)) 60 61print(d.popleft(), d.popleft()) 62print(len(d)) 63try: 64 d.popleft() 65except IndexError as e: 66 print(repr(e)) 67