Coverage for test / get_pub_test.py: 98%
52 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-25 18:06 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-25 18:06 +0000
1# SPDX-FileCopyrightText: 2023-2024 Arianna Moretti <arianna.moretti4@unibo.it>
2#
3# SPDX-License-Identifier: ISC
5import unittest
6from oc_ds_converter.pubmed.get_publishers import ExtractPublisherDOI
9class MyTestCase(unittest.TestCase):
11 def test_get_pub_API_crossref(self):
12 e_p_doi = ExtractPublisherDOI({})
13 pub_1016 = e_p_doi.extract_publishers_v("10.1016/0005-2728(75)90129-2")
14 pub_1136 = e_p_doi.extract_publishers_v("10.1136/bmj.4.5994.440")
15 pub_1021 = e_p_doi.extract_publishers_v("10.1021/bi00695a008")
16 pub_1007 = e_p_doi.extract_publishers_v("10.1007/bmj.4.5994.440")
17 pub_1097 = e_p_doi.extract_publishers_v("10.1097/00003246-197507000-00003")
18 pub_1378 = e_p_doi.extract_publishers_v("10.1378/chest.68.6.814")
19 pub_1055 = e_p_doi.extract_publishers_v("10.1055/s-0028-1106478")
20 pub_1080 = e_p_doi.extract_publishers_v("10.1080/0743580750908416")
21 pub_1210 = e_p_doi.extract_publishers_v("10.1210/endo-97-4-855")
22 pub_1159 = e_p_doi.extract_publishers_v("10.1159/000458949")
25 self.assertEqual(pub_1016, "Elsevier BV")
26 self.assertEqual(pub_1136, "BMJ")
27 self.assertEqual(pub_1021, "American Chemical Society (ACS)")
28 self.assertEqual(pub_1007, "Springer Science and Business Media LLC")
29 self.assertEqual(pub_1097, "Ovid Technologies (Wolters Kluwer Health)")
30 self.assertEqual(pub_1378, "Elsevier BV")
31 self.assertEqual(pub_1055, "Georg Thieme Verlag KG")
32 self.assertEqual(pub_1080, "Informa UK Limited")
33 self.assertEqual(pub_1210, "The Endocrine Society")
34 self.assertEqual(pub_1159, "S. Karger AG")
36 def test_get_pref_info_from_dict(self):
37 dataicte_doi = "10.14454/FXWS-0523"
38 crossref_doi = "10.1021/bi00695a008"
39 made_up_dict_crossref = {'10.1021': {'name': 'A Fake Publisher', 'crossref_member': '239', 'from': 'Crossref'}}
40 made_up_dict_external = {'10.14454': {'name': 'A Fake Datacite Publisher', 'from': 'datacite'}}
42 e_p_doi_1 = ExtractPublisherDOI(made_up_dict_crossref)
43 e_p_doi_2 = ExtractPublisherDOI(made_up_dict_external)
45 pub_d = e_p_doi_2.extract_publishers_v(dataicte_doi)
46 pub_c = e_p_doi_1.extract_publishers_v(crossref_doi)
47 self.assertEqual(pub_d, "A Fake Datacite Publisher")
48 self.assertEqual(pub_c, "A Fake Publisher")
50 # TO BE TESTED IN FUTURE
51 # 13-03-24 Datacite 500 Internal Server Error
53 # def test_get_pub_API_datacite(self):
54 # e_p_doi_3 = ExtractPublisherDOI({})
55 # dataicte_doi = "10.14454/FXWS-0523"
56 # datacite_doi2 = "10.15468/dl.7xagnb"
57 # pub_d = e_p_doi_3.extract_publishers_v(dataicte_doi)
58 # pub_d2 = e_p_doi_3.extract_publishers_v(datacite_doi2)
60 #self.assertEqual(pub_d, "DataCite")
61 #self.assertEqual(pub_d2, "The Global Biodiversity Information Facility")
63 def test_get_pub_API_medra(self):
64 e_p_doi_4 = ExtractPublisherDOI({})
65 medra_doi = "10.3233/ds-210053"
66 medra_doi_no_pub = "10.48255/9788891322968"
67 pub_m = e_p_doi_4.extract_publishers_v(medra_doi)
68 pub_m2 = e_p_doi_4.extract_publishers_v(medra_doi_no_pub)
69 self.assertEqual(pub_m, "IOS Press")
70 self.assertEqual(pub_m2, "unidentified")
72 def test_get_pub_cnki(self):
73 e_p_doi_5 = ExtractPublisherDOI({})
74 cnki_doi = "10.13336/j.1003-6520.hve.20160308018"
75 pub_c = e_p_doi_5.extract_publishers_v(cnki_doi)
76 expected = "unidentified"
77 self.assertEqual(pub_c, expected)
88if __name__ == '__main__':
89 unittest.main()