def test_calculate_balance_2(self):
     set = UnbalancedSet(55).insert(56).insert(57).insert(58).insert(
         59).insert(51).insert(50).insert(49)
     height1 = []
     for node in set._UnbalancedSet__root:
         height1.append(height(node))
     self.assertEqual(height1, [1, 2, 3, 5, 4, 3, 2, 1])
 def test_calculate_balance_factor(self):
     set = UnbalancedSet(9).insert(5).insert(1).insert(6).insert(10)
     set = set.insert(11).insert(13)
     balanceFactor = []
     for node in set._UnbalancedSet__root:
         balanceFactor.append(height(node))
     self.assertEqual(balanceFactor, [1, 2, 1, 4, 3, 2, 1])
 def test_calculate_balance_factor_all_right_nodes_one_left(self):
     set = UnbalancedSet(55).insert(56).insert(57).insert(58).insert(
         59).insert(51)
     balanceFactors = []
     for node in set._UnbalancedSet__root:
         balanceFactors.append(height(node))
     self.assertEqual(balanceFactors, [1, 5, 4, 3, 2, 1])
 def test3_preorder_iteration_and_height(self):
     set = UnbalancedSet(30, iterator='preorder').insert(10).insert(20)
     self.assertEqual(set, [30, 10, 20])
     height1 = []
     for node in set._UnbalancedSet__root:
         height1.append(height(node))
     self.assertEqual(height1, [3, 2, 1])
 def test_calculate_balance_factor_all_right_nodes(self):
     set = PersistentBalancedSet(55).insert(56).insert(57).insert(
         58).insert(59)
     balanceFactors = []
     for node in set._PersistentBalancedSet__root:
         balanceFactors.append(height(node))
     self.assertEqual(balanceFactors, [1, 2, 3, 2, 1])
 def test3_preorder_iteration_and_height(self):
     set = PersistentBalancedSet(30,
                                 iterator='preorder').insert(10).insert(20)
     self.assertEqual(set, [20, 10, 30])
     height1 = []
     for node in set._PersistentBalancedSet__root:
         height1.append(height(node))
     self.assertEqual(height1, [2, 1, 1])
 def test_calculate_balance_factor_all_left_nodes(self):
     set = UnbalancedSet(55).insert(54).insert(53).insert(52).insert(51)
     balanceFactors = []
     node_values = []
     for node in set._UnbalancedSet__root:
         node_values.append(node.value)
         balanceFactors.append(height(node))
     self.assertEqual(balanceFactors, [1, 2, 3, 4, 5])
     self.assertEqual(node_values, [51, 52, 53, 54, 55])
 def test_calculate_balance_factor_all_left_node_one_right(self):
     set = PersistentBalancedSet(55).insert(54).insert(53).insert(
         52).insert(51).insert(59)
     balanceFactors = []
     node_values = []
     for node in set._PersistentBalancedSet__root:
         node_values.append(node.value)
         balanceFactors.append(height(node))
     self.assertEqual(balanceFactors, [1, 2, 1, 3, 2, 1])
     self.assertEqual(node_values, [51, 52, 53, 54, 55, 59])