def add_nodes_to_tree(self, original, adds): """ Add all the nodes from new_nodes into the original tree. """ tree = tree_builder.build_tree_hash(original) for label, node in adds.queue: p_label = '-'.join(tree_builder.parent_label(node)) if tree_builder.parent_in_tree(p_label, tree): tree_builder.add_node_to_tree(node, p_label, tree) adds.delete(label) else: parent = adds.find(p_label) if parent: tree_builder.add_child(parent[1], node) else: original.update(node)
def test_parent_in_tree(self): tree = self.build_tree() tree_hash = tree_builder.build_tree_hash(tree) self.assertEqual(tree_hash.keys(), ['204-3', '204']) self.assertTrue(tree_builder.parent_in_tree('204-3', tree_hash))
def test_parent_in_tree(self): tree = self.build_tree() tree_hash = tree_builder.build_tree_hash(tree) self.assertEqual(tree_hash.keys(), ["204-3", "204"]) self.assertTrue(tree_builder.parent_in_tree("204-3", tree_hash))