class TreeBuilderTest(unittest.TestCase): def setUp(self): self.tree_builder = TreeBuilder(None, None) def test_build_tree(self): # Test empty tree nodes1 = [] test1 = self.tree_builder.build_tree(nodes1) self.assertEqual(test1, EMPTY_TREE) # Test basic nesting test2 = self.tree_builder.build_tree(NESTED_NODES) self.assertEqual(test2, NESTED_TREE) # Test disjoint branches test3 = self.tree_builder.build_tree(DISJOINT_NODES) self.assertEqual(test3, DISJOINT_TREE) # Test shared ancestor test3 = self.tree_builder.build_tree(ANCESTOR_NODES) self.assertEqual(test3, ANCESTOR_TREE) def test_doc_conversion(self): doc1 = self.tree_builder._convert_node_tree_to_doc(NESTED_TREE) test1 = self.tree_builder._convert_doc_to_node_tree( doc1, ParselmouthTargetTypes.adunit, ) self.assertEqual(test1, NESTED_TREE) doc2 = self.tree_builder._convert_node_tree_to_doc(DISJOINT_TREE) test2 = self.tree_builder._convert_doc_to_node_tree( doc2, ParselmouthTargetTypes.adunit, ) self.assertEqual(test2, DISJOINT_TREE) doc3 = self.tree_builder._convert_node_tree_to_doc(ANCESTOR_TREE) test3 = self.tree_builder._convert_doc_to_node_tree( doc3, ParselmouthTargetTypes.adunit, ) self.assertEqual(test3, ANCESTOR_TREE)