def test_matching_pats(self) : tree = fromstring("<Team><ACRush></ACRush><Jelly></Jelly><Cooly></Cooly></Team>") query = fromstring("<Team><Cooly></Cooly></Team>") root_query = fromstring("<Team><Cooly></Cooly></Team>") all_tree = [] count_tree(tree, all_tree) count_query(root_query) traverse_tree(tree, query, root_query) final = matching_pats(XML.count_pat, all_tree) self.assertTrue (type(final) == list) self.assertTrue (type(XML.count_pat) == list) self.assertTrue (type(i) == Element for i in XML.count_pat) self.assertTrue (type(all_tree) == list) self.assertTrue (type(i) == Element for i in all_tree)
def test_matching_pats3(self) : # testing case where there is new lines tree = fromstring("<red>\n<green>\n</green>\n</red>\n") query = fromstring("<yellow>\n</yellow>\n\n") root_query = fromstring("<yellow>\n</yellow>\n\n") all_tree = [] count_tree(tree, all_tree) count_query(root_query) traverse_tree(tree, query, root_query) final = matching_pats(XML.count_pat, all_tree) self.assertTrue (type(final) == list) self.assertTrue (len(final) == 0) self.assertTrue (type(XML.count_pat) == list) self.assertTrue (type(i) == Element for i in XML.count_pat) self.assertTrue (type(all_tree) == list) self.assertTrue (type(i) == Element for i in all_tree)
def test_traverse2 (self) : # test where query is not found in input input1 = "<red><green></green></red>" input2 = "<yellow></yellow>" tree = fromstring(input1) query = fromstring(input2) root_query = query t = traverse_tree(tree, query, root_query) self.assertTrue (type(tree) == Element) self.assertTrue (type(query) == Element) self.assertTrue (type(root_query) == Element)
def test_traverse3 (self) : # test case with new lines input1 = "<Team>\n<ACRush></ACRush>\n<Jelly></Jelly>\n<Cooly></Cooly>\n</Team>\n" input2 = "<Team><Cooly></Cooly></Team>\n\n" tree = fromstring(input1) query = fromstring(input2) root_query = query t = traverse_tree(tree, query, root_query) self.assertTrue (type(tree) == Element) self.assertTrue (type(query) == Element) self.assertTrue (type(root_query) == Element)
def test_traverse (self) : # this function doesnt return anything input1 = "<Team><ACRush></ACRush><Jelly></Jelly><Cooly></Cooly></Team>" input2 = "<Team><Cooly></Cooly></Team>" tree = fromstring(input1) query = fromstring(input2) root_query = query t = traverse_tree(tree, query, root_query) self.assertTrue (type(tree) == Element) self.assertTrue (type(query) == Element) self.assertTrue (type(root_query) == Element)