def test_duplicate_dates_made_unique(self):
     ut_input = etree.fromstring("<parent><unittitle>text<unitdate>3000</unitdate>, <unitdate>3000</unitdate>, and <unitdate>900</unitdate></unittitle></parent>")
     ut_input = ut_input.xpath("unittitle")[0]
     ut_target = etree.fromstring("<parent><unittitle>text</unittitle><unitdate>3000</unitdate><unitdate>900</unitdate></parent>")
     self.assertEquals(etree.tostring(move_unitdates(ut_input, "move_and_clean")), etree.tostring(ut_target))
 def test_clean_with_extra_tags(self):
     ut_input = etree.fromstring("<parent>{0}{4}text{5}, {1}1956{2}, and {1}1234{2}{3}</parent>".format("<unittitle>", "<unitdate>", "</unitdate>", "</unittitle>", "<extra>", "</extra>"))
     ut_input = ut_input.xpath("unittitle")[0]
     ut_target = etree.fromstring("<parent>{0}{4}text{5}{3}{1}1956{2}{1}1234{2}</parent>".format("<unittitle>", "<unitdate>", "</unitdate>", "</unittitle>", "<extra>", "</extra>"))
     self.assertEquals(etree.tostring(move_unitdates(ut_input, "move_and_clean")), etree.tostring(ut_target))
 def test_remove_empty_unittitle(self):
     ut_input = etree.fromstring("<parent><unittitle><unitdate>3000</unitdate>, <unitdate>4000</unitdate>, and <unitdate>900</unitdate></unittitle></parent>")
     ut_input = ut_input.xpath("unittitle")[0]
     ut_target = etree.fromstring("<parent><unitdate>3000</unitdate><unitdate>4000</unitdate><unitdate>900</unitdate></parent>")
     self.assertEquals(etree.tostring(move_unitdates(ut_input, "move_and_clean")), etree.tostring(ut_target))
 def test_calcify_with_extra_tags(self):
     unittitle_input = etree.fromstring("<parent><unittitle>text <unitdate>3000</unitdate> more text <corpname>corp</corpname></unittitle><sibling>b</sibling></parent>")
     unittitle_input = unittitle_input.xpath("unittitle")[0]
     unittitle_target = etree.fromstring("<parent><unittitle>text 3000 more text <corpname>corp</corpname></unittitle><unitdate>3000</unitdate><sibling>b</sibling></parent>")
     self.assertEquals(etree.tostring(move_unitdates(unittitle_input, "move_and_calcify")), etree.tostring(unittitle_target))