class BTreeTest(unittest.TestCase): def setUp(self): self.btree = BTree() self.btree.add(10) self.btree.add(20) self.btree.add(40) self.btree.add(50) def test_contains(self): assert 10 in self.btree assert 20 in self.btree assert 40 in self.btree assert 50 in self.btree def test_does_not_contain(self): assert 100 not in self.btree assert 23423 not in self.btree
if order.isdigit(): order = int(order) else: print("ERROR: order is %s, it must be a int" % order) sys.exit(1) btree = BTree(order) with open(filename, 'r') as fh: line_number = 0 log.info("reading file: start") for line in fh: (key, value) = line.strip().split(':') btree.add(key, value) line_number += 1 if line_number % 100000 == 0: log.info("Added %d" % line_number) log.info("reading file: end") log.info("saving to disk: start") btree.disk_save(btree_filename) log.info("saving to disk: end") (node_count, key_count, max_depth) = btree.stats() log.info( "tree has %d nodes, %d keys, levels %s" %
from btree import BNode, BTree bn = BNode(0) assert (hasattr(bn, "content")) assert (hasattr(bn, "left")) assert (hasattr(bn, "right")) assert (hasattr(bn, "__str__")) tree = BTree() assert (hasattr(tree, "root")) assert (hasattr(tree, "__str__")) assert (hasattr(tree, "add")) assert (hasattr(tree, "find")) assert (tree.__str__() == "<<E>>") tree.add(20) assert (tree.__str__() == "20") tree.add(10) assert (tree.__str__() == "20L10") tree.add(25) assert (tree.__str__() == "20L10R25") tree.add(2) assert (tree.__str__() == "20L10L2R25") tree.add(15) assert (tree.__str__() == "20L10L2R15R25") tree.add(30) assert (tree.__str__() == "20L10L2R15R25R30") tree.add(23) assert (tree.__str__() == "20L10L2R15R25L23R30") n = tree.find(-9)