def test_remove_add_items(self): items = [Item("A", 6), Item("A", 3), Item("A", 1), Item("A", 0), Item("A", 9), Item("A", 8), Item("A", 5)] sumTree = SumTree(7, items) total = sumTree.get_sum_priority() x,y,z = Item("X", 99), Item("Y", 98), Item("Z", 97) sumTree.add_item(x) sumTree.add_item(y) sumTree.add_item(z) self.assertListEqual(list(sumTree.get_leaves())[:3], [z, y, x])
def test_adding_speed(self): items = [Item("A", 6), Item("A", 3), Item("A", 1), Item("A", 0), Item("A", 9), Item("A", 8), Item("A", 5)] sumTree = SumTree(1000000, items) print("Adding Speed") for x in items: start = time.perf_counter() sumTree.add_item(x) end = time.perf_counter() elapsed_time = end - start print("Time:", elapsed_time) self.assertLessEqual(elapsed_time, 0.3) print("\n")
def test_adding_priority(self): items = [Item("A", 6), Item("A", 3), Item("A", 1), Item("A", 0), Item("A", 9), Item("A", 8), Item("A", 5)] sumTree = SumTree(7, []) for x in items: sumTree.add_item(x) curr = None for leaf in sumTree.get_leaves(): if curr is None: curr = leaf.get_priority() continue self.assertGreaterEqual(curr, leaf.get_priority()) curr = leaf.get_priority()
def test_changing_priority(self): items = [Item("A", 6), Item("A", 3), Item("A", 1), Item("A", 0), Item("A", 9), Item("A", 8), Item("A", 5)] sumTree = SumTree(7, items) total = sumTree.get_sum_priority() x,y,z = Item("X", 99), Item("Y", 98), Item("Z", 97) sumTree.add_item(x) sumTree.add_item(y) sumTree.add_item(z) curr = None for leaf in sumTree.get_leaves(): if curr is None: curr = leaf.get_priority() continue self.assertGreaterEqual(curr, leaf.get_priority()) curr = leaf.get_priority()