Esempio n. 1
0
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)