Coverage for test/get_ids_from_citations_test.py: 100%
29 statements
« prev ^ index » next coverage.py v6.5.0, created at 2025-07-14 14:06 +0000
« prev ^ index » next coverage.py v6.5.0, created at 2025-07-14 14:06 +0000
1import os
2import shutil
3import unittest
5from oc_meta.lib.file_manager import get_csv_data
6from oc_meta.plugins.get_ids_from_citations import get_ids_from_citations
8BASE_DIR = os.path.join('test', 'get_ids_from_citations')
9OUTPUT_DIR = os.path.join('test', 'get_ids_from_citations', 'output')
12class test_GetIdsFromCitations(unittest.TestCase):
13 def test_get_ids_from_citations_no_right_files(self):
14 with self.assertRaises(RuntimeError):
15 get_ids_from_citations(citations_dir=os.path.join(BASE_DIR, 'wrong_input'), output_dir=os.path.join(OUTPUT_DIR, 'wrong_output'), verbose=False)
17 def test_get_ids_from_citations_csv(self):
18 get_ids_from_citations(citations_dir=os.path.join(BASE_DIR, 'input_csv'), output_dir=os.path.join(OUTPUT_DIR, 'csv'), threshold=3, verbose=True)
19 get_ids_from_citations(citations_dir=os.path.join(BASE_DIR, 'input_csv'), output_dir=os.path.join(OUTPUT_DIR, 'csv'), threshold=2, verbose=True)
20 output = list()
21 output_dir = os.path.join(OUTPUT_DIR, 'csv')
22 for filename in os.listdir(output_dir):
23 output.extend(get_csv_data(os.path.join(output_dir, filename)))
24 expected_output = [{'id': '2140506'}, {'id': '2942070'}, {'id': '1523579'}, {'id': '7097569'}, {'id': '10.1108/jd-12-2013-0166'}, {'id': '10.1023/a:1021919228368'}, {'id': '10.1093/bioinformatics'}]
25 self.assertEqual(output, expected_output)
27 def test_get_ids_from_citations_zip(self):
28 get_ids_from_citations(citations_dir=os.path.join(BASE_DIR, 'input_zip'), output_dir=os.path.join(OUTPUT_DIR, 'zip'), threshold=2, verbose=True)
29 output = list()
30 output_dir = os.path.join(OUTPUT_DIR, 'zip')
31 for filename in os.listdir(output_dir):
32 output.extend(get_csv_data(os.path.join(output_dir, filename)))
33 expected_output = sorted([{'id': '2140506'}, {'id': '2942070'}, {'id': '1523579'}, {'id': '7097569'}, {'id': '10.1108/jd-12-2013-0166'}, {'id': '10.1023/a:1021919228368'}, {'id': '10.1093/bioinformatics'}], key=lambda x:''.join(x['id']))
34 shutil.rmtree(output_dir)
35 self.assertEqual(sorted(output, key=lambda x:''.join(x['id'])), expected_output)