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']