File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- # Tests for deques with "check overflow" flag and other extensions
2- # wrt to CPython.
31try :
42 from collections import deque
53except ImportError :
4341 d [4 ] = 0
4442except IndexError :
4543 print ("IndexError" )
46-
47- # Removing elements with del is not supported, fall back on mp_obj_subscr() error message
48- try :
49- del d [0 ]
50- except TypeError :
51- print ("TypeError" )
52-
53-
54- # Only fixed-size deques are supported, so length arg is mandatory
55- try :
56- deque (())
57- except TypeError :
58- print ("TypeError" )
59-
60- d = deque ((), 2 , True )
61-
62- try :
63- d .popleft ()
64- except IndexError :
65- print ("IndexError" )
66-
67- try :
68- d .pop ()
69- except IndexError :
70- print ("IndexError" )
71-
72- print (d .append (1 ))
73- print (d .popleft ())
74-
75- d .append (2 )
76- print (d .popleft ())
77-
78- d .append (3 )
79- d .append (4 )
80- print (d .popleft (), d .popleft ())
81- try :
82- d .popleft ()
83- except IndexError as e :
84- print (repr (e ))
85-
86- try :
87- d .pop ()
88- except IndexError as e :
89- print (repr (e ))
90-
91- d .append (5 )
92- d .append (6 )
93- print (len (d ))
94- try :
95- d .append (7 )
96- except IndexError as e :
97- print (repr (e ))
98-
99- try :
100- d .appendleft (8 )
101- except IndexError as e :
102- print (repr (e ))
103-
104- print (len (d ))
105-
106- print (d .popleft (), d .popleft ())
107- print (len (d ))
108- try :
109- d .popleft ()
110- except IndexError as e :
111- print (repr (e ))
Original file line number Diff line number Diff line change 1+ # Test MicroPython-specific features of collections.deque.
2+
3+ try :
4+ from collections import deque
5+ except ImportError :
6+ print ("SKIP" )
7+ raise SystemExit
8+
9+
10+ # Only fixed-size deques are supported, so length arg is mandatory.
11+ try :
12+ deque (())
13+ except TypeError :
14+ print ("TypeError" )
15+
16+ # Test third argument: flags when True means check for under/overflow
17+ d = deque ((), 2 , True )
18+
19+ try :
20+ d .popleft ()
21+ except IndexError :
22+ print ("IndexError" )
23+
24+ try :
25+ d .pop ()
26+ except IndexError :
27+ print ("IndexError" )
28+
29+ # Removing elements with del is not supported, fallback to
30+ # mp_obj_subscr() error message.
31+ try :
32+ del d [0 ]
33+ except TypeError :
34+ print ("TypeError" )
35+
36+ print (d .append (1 ))
37+ print (d .popleft ())
38+
39+ d .append (2 )
40+ print (d .popleft ())
41+
42+ d .append (3 )
43+ d .append (4 )
44+ print (d .popleft (), d .popleft ())
45+ try :
46+ d .popleft ()
47+ except IndexError as e :
48+ print (repr (e ))
49+
50+ try :
51+ d .pop ()
52+ except IndexError as e :
53+ print (repr (e ))
54+
55+ d .append (5 )
56+ d .append (6 )
57+ print (len (d ))
58+ try :
59+ d .append (7 )
60+ except IndexError as e :
61+ print (repr (e ))
62+
63+ try :
64+ d .appendleft (8 )
65+ except IndexError as e :
66+ print (repr (e ))
67+
68+ print (len (d ))
69+
70+ print (d .popleft (), d .popleft ())
71+ print (len (d ))
72+ try :
73+ d .popleft ()
74+ except IndexError as e :
75+ print (repr (e ))
Original file line number Diff line number Diff line change 1- 1
2- 2
3- 3
4- [3, 4, 5]
5- [5, 6, 7]
6- 0 1 3
7- 5
8- IndexError
9- IndexError
10- TypeError
111TypeError
122IndexError
133IndexError
4+ TypeError
145None
1561
1672
You can’t perform that action at this time.
0 commit comments