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

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 

7 

8 

9def load_cases(): 

10 return load_parameter_sets(rel2abs(__file__, "..", "resources", "bundles", "convert_csv"), "convert_csv", "test_id", 

11 {"test_id": []}) 

12 

13 

14EXCEPTIONS = { 

15 "CombinatrixException": CombinatrixException 

16} 

17 

18CSV_PATHS = { 

19 "none": None, 

20 "missing": rel2abs(__file__, "path", "does", "not", "exist.csv") 

21} 

22 

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} 

28 

29 

30class TestConvertCsv(unittest.TestCase): 

31 

32 def setUp(self): 

33 super(TestConvertCsv, self).setUp() 

34 

35 def tearDown(self): 

36 available = PARAMS_OUT_PATHS["available"] 

37 if os.path.exists(available): 

38 os.remove(available) 

39 

40 super(TestConvertCsv, self).tearDown() 

41 

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") 

49 

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) 

55 

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) 

61 

62 if params_out_path_arg in ["available"]: 

63 assert os.path.exists(params_out_path) 

64 

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