def test_delete(self): var = globalVar() #Contains variables for tree insertion bTree = BinaryTree() bTree.insert(value= var.p1) bTree.insert(value= var.p2) bTree.insert(value= var.p3) self.assertEqual(bTree.find(var.p3).value, var.p3) bTree.delete(var.p3) with self.assertRaises(Exception): bTree.find(var.p3).value#Looking for deleted element
def test_features(self): bt = BinaryTree(10) bt.add(6) bt.add(18) bt.add(4) bt.add(8) bt.add(15) bt.add(21) self.assertEqual(bt.count(), 7) self.assertEqual(bt.min(), 4) self.assertEqual(bt.max(), 21) self.assertEqual(bt.has(8), True) self.assertEqual(bt.has(11), False) self.assertNotEqual(bt.find(15), None) self.assertEqual(bt.find(11), None) bt.delete(10) self.assertEqual(bt.root.data, 15) self.assertEqual(bt.find(10), None) self.assertEqual(bt.count(), 6) self.assertEqual([x for x in bt.items()], [4, 6, 8, 15, 18, 21]) self.assertEqual([x for x in bt.items('pre')], [15, 6, 4, 8, 18, 21]) self.assertEqual([x for x in bt.items('pos')], [4, 8, 6, 21, 18, 15]) self.assertEqual([x for x in bt.items('lev')], [15, 6, 18, 4, 8, 21])
class DB(object): def __init__(self, f): self.storage = Storage(f) self.tree = BinaryTree(self.storage) def assert_not_closed(self): if self.storage.closed: print("db closed") raise ValueError("db closed") def close(self): self.storage.close() def update(self): self.assert_not_closed() self.tree.update() def __getitem__(self, key): self.assert_not_closed() return self.tree.get(key) def __setitem__(self, key, value): self.assert_not_closed() return self.tree.set(key, value) def __delitem__(self, key): self.assert_not_closed() return self.tree.delete(key) def __contains__(self, key): self.assert_not_closed() try: self[key] except KeyError: return False else: return True def __len__(self): return len(self.tree) def listAll(self): return self.tree.listAll()
from binarytree import BinaryTree from node import Node tree = BinaryTree(Node(6)) nodes = [5, 3, 9, 7, 8, 7.5, 12, 11] [tree.add(Node(n)) for n in nodes] tree.delete(9) tree.inorder()
from binarytree import BinaryTree from collections import namedtuple Person = namedtuple('Person', 'etternavn fornavn adresse postnr area') p1 = Person('KRISTIANSEN', 'MORTEN KRISTIAN', 'LEINAHYTTA 36', '7224', 'MELHUS') p2 = Person('STAVANG', 'ELISABETH', 'ESPENES 116', '4684', 'BYGLAND') p3 = Person('SYVERSEN', 'HARISHANKAR', 'SISIKVEIEN 84', '1390', 'VOLLEN') p4 = Person('TYRIBERGET', 'EDWARD J.', 'HALLAND JOHAN 66', '5649', 'EIKELANDSOSEN') p5 = Person('AASE', 'TRINE', 'LEINAHYTTA 360', '7200', 'ROGNE') bTree = BinaryTree() bTree.insert(value=p1) bTree.insert(value=p2) bTree.insert(value=p3) bTree.insert(value=p4) bTree.insert(value=p5) print(bTree.delete(Person('KRISTIANSEN')).value) #print(bTree.find(p2).value) #print(bTree.find(p2).value) #print(bTree.findMin().value) #print(bTree._root.value) #print(bTree.find(p1).value)