def test_invalid_types(self): with h5py.File(data_utils.std_beps_path, mode='r') as h5_f: h5_main = h5_f['/Raw_Measurement/source_main'] with self.assertRaises(TypeError): _ = prov_utils.check_for_old("h5_main", "blah") with self.assertRaises(TypeError): _ = prov_utils.check_for_old(np.arange(4), "blah") with self.assertRaises(TypeError): _ = prov_utils.check_for_old(h5_main, 1.234) with self.assertRaises(TypeError): _ = prov_utils.check_for_old(h5_main, 'Fitter', new_parms="not_a_dictionary") with self.assertRaises(TypeError): _ = prov_utils.check_for_old(h5_main, 'Fitter', target_dset=1.234)
def test_subset_but_match(self): with h5py.File(data_utils.std_beps_path, mode='r') as h5_f: h5_main = h5_f['/Raw_Measurement/source_main'] attrs = { 'att_2': 1.2345, 'att_3': [1, 2, 3, 4], 'att_4': ['str_1', 'str_2', 'str_3'] } [h5_ret_grp] = prov_utils.check_for_old(h5_main, 'Fitter', new_parms=attrs, target_dset=None) self.assertEqual(h5_ret_grp, h5_f['/Raw_Measurement/source_main-Fitter_000'])
def test_invalid_target_dset(self): with h5py.File(data_utils.std_beps_path, mode='r') as h5_f: h5_main = h5_f['/Raw_Measurement/source_main'] attrs = { 'att_1': 'string_val', 'att_2': 1.2345, 'att_3': [1, 2, 3, 4], 'att_4': ['str_1', 'str_2', 'str_3'] } ret = prov_utils.check_for_old(h5_main, 'Fitter', new_parms=attrs, target_dset='Does_not_exist') self.assertEqual(ret, [])
def test_fail_02(self): with h5py.File(data_utils.std_beps_path, mode='r') as h5_f: h5_main = h5_f['/Raw_Measurement/source_main'] attrs = { 'att_x': [4, 1, 3], 'att_z': ['s', 'str_2', 'str_3'], 'att_y': 'other_string_val', 'att_4': 5.4321 } ret_val = prov_utils.check_for_old(h5_main, 'Fitter', new_parms=attrs, target_dset=None) self.assertIsInstance(ret_val, list) self.assertEqual(len(ret_val), 0)
def test_exact_match_02(self): with h5py.File(data_utils.std_beps_path, mode='r') as h5_f: h5_main = h5_f['/Raw_Measurement/source_main'] attrs = { 'att_1': 'other_string_val', 'att_2': 5.4321, 'att_3': [4, 1, 3], 'att_4': ['s', 'str_2', 'str_3'] } [h5_ret_grp] = prov_utils.check_for_old(h5_main, 'Fitter', new_parms=attrs, target_dset=None) self.assertEqual(h5_ret_grp, h5_f['/Raw_Measurement/source_main-Fitter_001'])
def test_valid_target_dset(self): with h5py.File(data_utils.std_beps_path, mode='r') as h5_f: h5_main = h5_f['/Raw_Measurement/source_main'] attrs = {'units': ['V'], 'labels': ['Bias']} dset_name = 'Spectroscopic_Indices' groups = prov_utils.check_for_old(h5_main, 'Fitter', new_parms=attrs, target_dset=dset_name, verbose=False) groups = set(groups) self.assertEqual( groups, set([ h5_f['/Raw_Measurement/source_main-Fitter_000/'], h5_f['/Raw_Measurement/source_main-Fitter_001/'] ]))