def test_delete_tree_XML_and_remove_source(self): XML = etree.tostring(etree.parse('data/input/clean_data.phyml', parser), pretty_print=True) names = ["Hill_2012_1", "Hill_2012_2"] names.sort(reverse=True) trees = obtain_trees(XML) old_len = len(trees) new_xml = XML for name in names: new_xml = _swap_tree_in_XML(new_xml, None, name, delete=True) trees = obtain_trees(new_xml) self.assert_(len(trees) == old_len - 2) # check only one source remains names = get_all_source_names(new_xml) self.assert_(len(names) == 1) self.assert_(names[0] == "Hill_2011")
def test_clean_data(self): XML = etree.tostring(etree.parse('data/input/clean_data.phyml', parser), pretty_print=True) XML = clean_data(XML) trees = obtain_trees(XML) self.assert_(len(trees) == 2) expected_trees = { 'Hill_2011_2': '(A,B,(C,D,E));', 'Hill_2011_1': '(A, B, C, (D, E, F));' } for t in trees: self.assert_(_trees_equal(trees[t], expected_trees[t])) # check only one source remains names = get_all_source_names(XML) self.assert_(len(names) == 1) self.assert_(names[0] == "Hill_2011")
def test_get_all_source_names(self): input_data = etree.tostring(xml_full_c) names = get_all_source_names(input_data) expected_names = ['Hill_1996', 'Hill_etal_1996', 'Hill_Davis_1996'] self.assert_(expected_names.sort() == names.sort())
def test_all_unique_names_altered(self): new_xml = all_sourcenames(etree.tostring(non_unique_names)) names = get_all_source_names(new_xml) expected_names = ['Hill_1996b', 'Hill_1996a', 'Hill_etal_1996', 'Hill_Davis_1996'] self.assert_(expected_names.sort() == names.sort())
def test_full_sourcenames(self): new_xml = all_sourcenames(etree.tostring(xml_full)) names = get_all_source_names(new_xml) expected_names = get_all_source_names(etree.tostring(xml_full_c)) self.assertListEqual(names,expected_names)