summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-06-21 10:00:02 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-06-21 10:00:02 +0300
commitd5835261aff12bddd9be3bf6c3e0bf88e92955f3 (patch)
treeacf306c87b1d9f1600782b9bcddc138461c63e31
parent6b088a671ac010d78c566a86e70a460721485fa6 (diff)
downloadmicropython-d5835261aff12bddd9be3bf6c3e0bf88e92955f3.tar.gz
micropython-d5835261aff12bddd9be3bf6c3e0bf88e92955f3.zip
tests/extmod: Add "btree" module test.
-rw-r--r--tests/extmod/btree1.py56
-rw-r--r--tests/extmod/btree1.py.exp29
2 files changed, 85 insertions, 0 deletions
diff --git a/tests/extmod/btree1.py b/tests/extmod/btree1.py
new file mode 100644
index 0000000000..75405bc4f0
--- /dev/null
+++ b/tests/extmod/btree1.py
@@ -0,0 +1,56 @@
+try:
+ import btree
+except ImportError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+db = btree.open(None)
+db[b"foo3"] = b"bar3"
+db[b"foo1"] = b"bar1"
+db[b"foo2"] = b"bar2"
+db[b"bar1"] = b"foo1"
+
+print(db[b"foo2"])
+try:
+ print(db[b"foo"])
+except KeyError:
+ print("KeyError")
+print(db.get(b"foo"))
+print(db.get(b"foo", b"dflt"))
+
+del db[b"foo2"]
+try:
+ del db[b"foo"]
+except KeyError:
+ print("KeyError")
+
+for k, v in db.items():
+ print((k, v))
+
+print("---")
+for k, v in db.items(None, None):
+ print((k, v))
+
+print("---")
+for k, v in db.items(b"f"):
+ print((k, v))
+
+print("---")
+for k, v in db.items(b"f", b"foo3"):
+ print((k, v))
+
+print("---")
+for k, v in db.items(None, b"foo3"):
+ print((k, v))
+
+print("---")
+for k, v in db.items(b"f", b"foo3", btree.INCL):
+ print((k, v))
+
+print("---")
+for k, v in db.items(None, None, btree.DESC):
+ print((k, v))
+
+print(list(db.keys()))
+print(list(db.values()))
diff --git a/tests/extmod/btree1.py.exp b/tests/extmod/btree1.py.exp
new file mode 100644
index 0000000000..494eb6a081
--- /dev/null
+++ b/tests/extmod/btree1.py.exp
@@ -0,0 +1,29 @@
+b'bar2'
+KeyError
+None
+b'dflt'
+KeyError
+(b'bar1', b'foo1')
+(b'foo1', b'bar1')
+(b'foo3', b'bar3')
+---
+(b'bar1', b'foo1')
+(b'foo1', b'bar1')
+(b'foo3', b'bar3')
+---
+(b'foo1', b'bar1')
+(b'foo3', b'bar3')
+---
+(b'foo1', b'bar1')
+---
+(b'bar1', b'foo1')
+(b'foo1', b'bar1')
+---
+(b'foo1', b'bar1')
+(b'foo3', b'bar3')
+---
+(b'foo3', b'bar3')
+(b'foo1', b'bar1')
+(b'bar1', b'foo1')
+[b'bar1', b'foo1', b'foo3']
+[b'foo1', b'bar1', b'bar3']