1try: 2 try: 3 from ucollections import deque 4 except ImportError: 5 from collections import deque 6except ImportError: 7 print("SKIP") 8 raise SystemExit 9 10 11d = deque((), 2) 12print(len(d)) 13print(bool(d)) 14 15try: 16 d.popleft() 17except IndexError: 18 print("IndexError") 19 20print(d.append(1)) 21print(len(d)) 22print(bool(d)) 23print(d.popleft()) 24print(len(d)) 25 26d.append(2) 27print(d.popleft()) 28 29d.append(3) 30d.append(4) 31print(len(d)) 32print(d.popleft(), d.popleft()) 33try: 34 d.popleft() 35except IndexError: 36 print("IndexError") 37 38d.append(5) 39d.append(6) 40d.append(7) 41print(len(d)) 42print(d.popleft(), d.popleft()) 43print(len(d)) 44try: 45 d.popleft() 46except IndexError: 47 print("IndexError") 48 49# Case where get index wraps around when appending to full deque 50d = deque((), 2) 51d.append(1) 52d.append(2) 53d.append(3) 54d.append(4) 55d.append(5) 56print(d.popleft(), d.popleft()) 57 58# Negative maxlen is not allowed 59try: 60 deque((), -1) 61except ValueError: 62 print("ValueError") 63 64# Unsupported unary op 65try: 66 ~d 67except TypeError: 68 print("TypeError") 69