summaryrefslogtreecommitdiff
path: root/tests/basics/deque1.py
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2018-07-30 12:33:44 -0700
committerGitHub <noreply@github.com>2018-07-30 12:33:44 -0700
commita6d94b68453b8535398ff0b61cd6c4a0c7f77f8b (patch)
tree8defd6392975b8145dc11f0cce9c39a4e440b32a /tests/basics/deque1.py
parent433a29bb70d51abb84c77a911ced43c6ff14706e (diff)
parentb1006170f1dcfa3a9499ef31c19c8f20736b136a (diff)
Merge pull request #1068 from dhalbert/micropython-25ae98f-merge
Micropython 25ae98f merge
Diffstat (limited to 'tests/basics/deque1.py')
-rw-r--r--tests/basics/deque1.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/basics/deque1.py b/tests/basics/deque1.py
new file mode 100644
index 000000000..19966fcb0
--- /dev/null
+++ b/tests/basics/deque1.py
@@ -0,0 +1,68 @@
+try:
+ try:
+ from ucollections import deque
+ except ImportError:
+ from collections import deque
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+
+d = deque((), 2)
+print(len(d))
+print(bool(d))
+
+try:
+ d.popleft()
+except IndexError:
+ print("IndexError")
+
+print(d.append(1))
+print(len(d))
+print(bool(d))
+print(d.popleft())
+print(len(d))
+
+d.append(2)
+print(d.popleft())
+
+d.append(3)
+d.append(4)
+print(len(d))
+print(d.popleft(), d.popleft())
+try:
+ d.popleft()
+except IndexError:
+ print("IndexError")
+
+d.append(5)
+d.append(6)
+d.append(7)
+print(len(d))
+print(d.popleft(), d.popleft())
+print(len(d))
+try:
+ d.popleft()
+except IndexError:
+ print("IndexError")
+
+# Case where get index wraps around when appending to full deque
+d = deque((), 2)
+d.append(1)
+d.append(2)
+d.append(3)
+d.append(4)
+d.append(5)
+print(d.popleft(), d.popleft())
+
+# Negative maxlen is not allowed
+try:
+ deque((), -1)
+except ValueError:
+ print("ValueError")
+
+# Unsupported unary op
+try:
+ ~d
+except TypeError:
+ print("TypeError")