Coverage for test / idm_issn_test.py: 97%
37 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 Arianna Moretti <arianna.moretti4@unibo.it>
2# SPDX-FileCopyrightText: 2026 Arcangelo Massari <arcangelo.massari@unibo.it>
3#
4# SPDX-License-Identifier: ISC
7import json
8import unittest
9from os import makedirs
10from os.path import exists, join
12from oc_ds_converter.oc_idmanager.issn import ISSNManager
15class issnIdentifierManagerTest(unittest.TestCase):
16 """This class aim at testing identifiers manager."""
18 def setUp(self):
19 if not exists("tmp"):
20 makedirs("tmp")
22 self.test_dir = join("test", "data")
23 self.test_json_path = join(self.test_dir, "glob.json")
24 with open(self.test_json_path, encoding="utf-8") as fp:
25 self.data = json.load(fp)
27 self.valid_issn_1 = "2376-5992"
28 self.valid_issn_2 = "1474-175X"
29 self.invalid_issn_1 = "2376-599C"
30 self.invalid_issn_2 = "2376-5995"
31 self.invalid_issn_3 = "2376-599"
34 def test_issn_normalise(self):
35 im = ISSNManager()
36 self.assertEqual(
37 self.valid_issn_1, im.normalise(self.valid_issn_1.replace("-", " "))
38 )
39 self.assertEqual(
40 self.valid_issn_2, im.normalise(self.valid_issn_2.replace("-", " "))
41 )
42 self.assertEqual(
43 self.invalid_issn_3, im.normalise(self.invalid_issn_3.replace("-", " "))
44 )
46 def test_issn_is_valid(self):
47 im = ISSNManager()
48 self.assertTrue(im.is_valid(self.valid_issn_1))
49 self.assertTrue(im.is_valid(self.valid_issn_2))
50 self.assertFalse(im.is_valid(self.invalid_issn_1))
51 self.assertFalse(im.is_valid(self.invalid_issn_2))
52 self.assertFalse(im.is_valid(self.invalid_issn_3))
54 im_file = ISSNManager(self.data)
55 self.assertTrue(im_file.normalise(self.valid_issn_1, include_prefix=True) in self.data)
56 self.assertTrue(im_file.normalise(self.valid_issn_2, include_prefix=True) in self.data)
57 self.assertTrue(im_file.normalise(self.invalid_issn_2, include_prefix=True) in self.data)
58 self.assertTrue(im_file.is_valid((im_file.normalise(self.valid_issn_1, include_prefix=True))))
59 self.assertTrue(im_file.is_valid((im_file.normalise(self.valid_issn_2, include_prefix=True))))
60 self.assertFalse(im_file.is_valid((im_file.normalise(self.invalid_issn_2, include_prefix=True))))