class Test_MatchPubDate4(unittest.TestCase): def setUp(self): xml = """<article><article-meta> <pub-date date-type="pub"> <year>2010</year><month>9</month><day>1</day></pub-date> <pub-date date-type="epub-ppub"> <year>2011</year></pub-date> <pub-date date-type="collection"> <year>2012</year><month>2</month></pub-date> </article-meta></article>""" xmltree = etree.fromstring(xml) self.sps_package = SPS_Package(xmltree, None) def test__match_pubdate(self): result = self.sps_package._match_pubdate( ('pub-date[@date-type="pub"]', 'pub-date[@date-type="collection"]')) self.assertEqual(result.findtext("year"), "2010") def test_document_pubdate(self): self.assertEqual(self.sps_package.document_pubdate, ("2010", "09", "01")) def test_documents_bundle_pubdate(self): self.assertEqual(self.sps_package.documents_bundle_pubdate, ("2012", "02", ""))
class Test_MatchPubDate4(unittest.TestCase): def setUp(self): xml = """<article><article-meta> <pub-date date-type="pub"> <year>2010</year><month>9</month><day>1</day></pub-date> <pub-date date-type="epub-ppub"> <year>2011</year></pub-date> <pub-date date-type="collection"> <year>2012</year><month>2</month></pub-date> </article-meta></article>""" xmltree = etree.fromstring(xml) self.sps_package = SPS_Package(xmltree, None) def test__match_pubdate(self): result = self.sps_package._match_pubdate( ('pub-date[@date-type="pub"]', 'pub-date[@date-type="collection"]')) self.assertEqual(result.findtext("year"), "2010") def test_document_pubdate(self): self.assertEqual(self.sps_package.document_pubdate, ("2010", "09", "01")) def test_documents_bundle_pubdate(self): self.assertEqual(self.sps_package.documents_bundle_pubdate, ("2012", "02", "")) def test_transform_pubdate(self): self.sps_package.transform_pubdate() xpaths_results = ( ('pub-date[@date-type="pub"]', ("2010", "9", "1")), ('pub-date[@date-type="collection"]', ("2012", "2", None)), ) for xpath, result in xpaths_results: with self.subTest(xpath=xpath, result=result): pubdate = self.sps_package.article_meta.find(xpath) self.assertIsNotNone(pubdate) self.assertEqual(pubdate.get("publication-format"), "electronic") self.assertEqual(pubdate.findtext("year"), result[0]) self.assertEqual(pubdate.findtext("month"), result[1]) self.assertEqual(pubdate.findtext("day"), result[2])
class Test_MatchPubDate1_Season(unittest.TestCase): def setUp(self): xml = """<article><article-meta> <pub-date date-type="pub"> <year>2010</year><month>5</month><day>13</day></pub-date> <pub-date date-type="collection"> <year>2012</year><season>Jan-Feb</season></pub-date> </article-meta></article>""" xmltree = etree.fromstring(xml) self.sps_package = SPS_Package(xmltree, None) def test__match_pubdate(self): result = self.sps_package._match_pubdate( ('pub-date[@date-type="pub"]', 'pub-date[@date-type="collection"]')) self.assertEqual(result.findtext("year"), "2010") def test_document_pubdate(self): self.assertEqual(self.sps_package.document_pubdate, ("2010", "05", "13")) def test_documents_bundle_pubdate(self): self.assertEqual(self.sps_package.documents_bundle_pubdate, ("2012", "", "")) def test_transform_pubdate(self): self.sps_package.transform_pubdate() pubdate = self.sps_package.article_meta.find( 'pub-date[@date-type="pub"]') self.assertIsNotNone(pubdate) self.assertEqual(pubdate.get("publication-format"), "electronic") self.assertEqual(pubdate.findtext("year"), "2010") self.assertEqual(pubdate.findtext("month"), "5") self.assertEqual(pubdate.findtext("day"), "13") pubdate = self.sps_package.article_meta.find( 'pub-date[@date-type="collection"]') self.assertIsNotNone(pubdate) self.assertEqual(pubdate.get("publication-format"), "electronic") self.assertEqual(pubdate.findtext("year"), "2012") self.assertEqual(pubdate.findtext("season"), "Jan-Feb")