def create_unbalanced_tree_with_equal_weight_on_second_level(): node_5 = Node(5) node_4 = Node(4) node_2 = Node(2) node_3 = Node(3) node_5.set_left_child(node_4) node_4.set_parent(node_5) node_4.set_left_child(node_2) node_4.set_right_child(node_3) node_2.set_parent(node_4) node_3.set_parent(node_4) node_2._set_height(0) node_3._set_height(0) node_4._set_height(1) node_5._set_height(2) node_2.set_node_count(1) node_3.set_node_count(1) node_4.set_node_count(3) node_5.set_node_count(4) return node_5
def test_update_node_count(self): node_5 = Node(5) node_0 = Node(0) node_12 = Node(12) tree = AVL(node_5) tree._set_root(node_5) node_5.set_left_child(node_0) node_5.set_right_child(node_12) node_0.set_parent(node_5) node_12.set_parent(node_5) node_5.set_node_count(2) node_6 = Node(6) node_12.set_left_child(node_6) node_6.set_parent(node_12) tree._update_node_counts(node_6) expect(node_5.get_node_count()).to.be.equal(4) expect(node_0.get_node_count()).to.be.equal(1) expect(node_12.get_node_count()).to.be.equal(2) expect(node_6.get_node_count()).to.be.equal(1)
def create_valid_avl_tree(): node_10 = Node(10) node_minus_3 = Node(-3) node_minus_20 = Node(-20) node_5 = Node(5) node_3 = Node(3) node_15 = Node(15) node_20 = Node(20) node_12 = Node(12) node_13 = Node(13) node_10.set_left_child(node_minus_3) node_10.set_right_child(node_15) node_minus_3.set_parent(node_10) node_15.set_parent(node_10) node_minus_3.set_right_child(node_5) node_minus_3.set_left_child(node_minus_20) node_5.set_parent(node_minus_3) node_minus_20.set_parent(node_minus_3) node_5.set_left_child(node_3) node_3.set_parent(node_5) node_15.set_left_child(node_12) node_15.set_right_child(node_20) node_12.set_parent(node_15) node_20.set_parent(node_15) node_12.set_right_child(node_13) node_13.set_parent(node_12) node_10._set_height(3) node_minus_3._set_height(2) node_minus_20._set_height(0) node_5._set_height(1) node_3._set_height(0) node_15._set_height(2) node_20._set_height(0) node_12._set_height(1) node_13._set_height(0) node_10.set_node_count(9) node_minus_3.set_node_count(4) node_minus_20.set_node_count(1) node_5.set_node_count(2) node_3.set_node_count(1) node_15.set_node_count(4) node_20.set_node_count(1) node_12.set_node_count(2) node_13.set_node_count(1) return node_10