Coverage for venv1 / lib / python3.10 / site-packages / combinatrix / test / unit / test_convert_csv.py: 0%
40 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-04 09:41 +0100
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-04 09:41 +0100
1import unittest, os
2from parameterized import parameterized
3from combinatrix.testintegration import load_parameter_sets, rel2abs
4from combinatrix.core import CombinatrixException, convert_csv
5from combinatrix.test.fixtures.settings_csv import SettingsCSVFactory
6from combinatrix.test.fixtures.settings_json import SettingsJSONFactory
9def load_cases():
10 return load_parameter_sets(rel2abs(__file__, "..", "resources", "bundles", "convert_csv"), "convert_csv", "test_id",
11 {"test_id": []})
14EXCEPTIONS = {
15 "CombinatrixException": CombinatrixException
16}
18CSV_PATHS = {
19 "none": None,
20 "missing": rel2abs(__file__, "path", "does", "not", "exist.csv")
21}
23PARAMS_OUT_PATHS = {
24 "none" : None,
25 "missing_dir" : rel2abs(__file__, "path", "does", "not", "exist"),
26 "available" : rel2abs(__file__, "..", "resources", "tmp", "test_convert_csv.json")
27}
30class TestConvertCsv(unittest.TestCase):
32 def setUp(self):
33 super(TestConvertCsv, self).setUp()
35 def tearDown(self):
36 available = PARAMS_OUT_PATHS["available"]
37 if os.path.exists(available):
38 os.remove(available)
40 super(TestConvertCsv, self).tearDown()
42 @parameterized.expand(load_cases)
43 def test_convert_csv(self, name, kwargs):
44 csv_path_arg = kwargs.get("csv_path")
45 params_out_path_arg = kwargs.get("params_out_path")
46 csv_state_arg = kwargs.get("csv_state")
47 compare_params_arg = kwargs.get("compare_params")
48 raises_arg = kwargs.get("raises")
50 csv_path = CSV_PATHS.get(csv_path_arg)
51 if csv_path is None:
52 csv_path = SettingsCSVFactory.get_csv_path(csv_state_arg)
53 params_out_path = PARAMS_OUT_PATHS[params_out_path_arg]
54 raises = EXCEPTIONS.get(raises_arg)
56 if raises is not None:
57 with self.assertRaises(raises):
58 convert_csv(csv_path, params_out_path)
59 else:
60 parameters = convert_csv(csv_path, params_out_path)
62 if params_out_path_arg in ["available"]:
63 assert os.path.exists(params_out_path)
65 if compare_params_arg in ["good_1"]:
66 compare_with_json = SettingsJSONFactory.get_json(compare_params_arg)
67 assert parameters.as_dict() == compare_with_json