def test_dark_in_prun_cannot_find_a_valid_dark(self): # case 2: can't find a qualified dark and test if md got updated time_now = time.time() self.bt.set_wavelength(0.18448) # build the dark yml dark_scan_list = [] dark_uid = str(uuid.uuid4()) dark_uid2 = str(uuid.uuid4()) dark_scan_list.append((dark_uid, 0.3, time_now - 2000)) dark_scan_list.append((dark_uid2, 0.1, time_now - 200)) with open(glbl.dk_yaml, 'w') as f: yaml.dump(dark_scan_list, f) test_list = _read_dark_yaml() self.assertEqual(test_list, dark_scan_list) # none with the right exposure scanplan = ScanPlan('ct', {'exposure': 0.01}, shutter=False) prun(self.sa, scanplan) self.assertTrue('sc_dk_field_uid' in glbl.xpdRE.call_args_list[-1][1]) self.assertFalse( glbl.xpdRE.call_args_list[-1][1]['sc_dk_field_uid'] == dark_uid2) # Second one has the right exposure time but expires glbl.dk_window = 1. scanplan = ScanPlan('ct', {'exposure': 0.1}, shutter=False) prun(self.sa, scanplan) self.assertTrue('sc_dk_field_uid' in glbl.xpdRE.call_args_list[-1][1]) self.assertFalse( glbl.xpdRE.call_args_list[-1][1]['sc_dk_field_uid'] == dark_uid2)
def test_dark_in_prun_cannot_find_a_valid_dark(self): # case 2: can't find a qualified dark and test if md got updated time_now = time.time() self.bt.set_wavelength(0.18448) # build the dark yml dark_scan_list = [] dark_uid = str(uuid.uuid4()) dark_uid2 = str(uuid.uuid4()) dark_scan_list.append((dark_uid, 0.3, time_now-2000)) dark_scan_list.append((dark_uid2, 0.1, time_now-200)) with open (glbl.dk_yaml, 'w') as f: yaml.dump(dark_scan_list, f) test_list = _read_dark_yaml() self.assertEqual(test_list,dark_scan_list) # none with the right exposure scanplan = ScanPlan('ct', {'exposure':0.01}, shutter=False) prun(self.sa, scanplan) self.assertTrue('sc_dk_field_uid' in glbl.xpdRE.call_args_list[-1][1]) self.assertFalse(glbl.xpdRE.call_args_list[-1][1]['sc_dk_field_uid'] == dark_uid2) # Second one has the right exposure time but expires glbl.dk_window = 1. scanplan = ScanPlan('ct', {'exposure':0.1}, shutter=False) prun(self.sa, scanplan) self.assertTrue('sc_dk_field_uid' in glbl.xpdRE.call_args_list[-1][1]) self.assertFalse(glbl.xpdRE.call_args_list[-1][1]['sc_dk_field_uid'] == dark_uid2)
def test_dark_in_prun_can_find_a_valid_dark(self): # case 1: find a qualified dark and test if md got updated time_now = time.time() self.bt.set_wavelength(0.18448) light_cnt_time = 0.01 dark_scan_list = [] dark_uid = str(uuid.uuid4()) dark_scan_list.append((dark_uid, light_cnt_time, time_now-600)) with open (glbl.dk_yaml, 'w') as f: yaml.dump(dark_scan_list, f) test_list = _read_dark_yaml() self.assertEqual(test_list,dark_scan_list) scanplan = ScanPlan('ctTest', 'ct', {'exposure':light_cnt_time}, shutter=False) prun(self.sa, scanplan) self.assertEqual(scanplan.md['sp_params']['dk_field_uid'], dark_uid)
def test_dark_in_prun_can_find_a_valid_dark(self): # case 1: find a qualified dark and test if md got updated time_now = time.time() self.bt.set_wavelength(0.18448) light_cnt_time = 0.01 dark_scan_list = [] dark_uid = str(uuid.uuid4()) dark_scan_list.append((dark_uid, light_cnt_time, time_now - 600)) with open(glbl.dk_yaml, 'w') as f: yaml.dump(dark_scan_list, f) test_list = _read_dark_yaml() self.assertEqual(test_list, dark_scan_list) scanplan = ScanPlan('ct', {'exposure': light_cnt_time}, shutter=False) prun(self.sa, scanplan) self.assertTrue('sc_dk_field_uid' in glbl.xpdRE.call_args_list[-1][1]) self.assertTrue( glbl.xpdRE.call_args_list[-1][1]['sc_dk_field_uid'] == dark_uid)
def test_dark_in_prun_cannot_find_a_valid_dark(self): # case 2: can't find a qualified dark and test if md got updated time_now = time.time() self.bt.set_wavelength(0.18448) # build the dark yml dark_scan_list = [] dark_uid = str(uuid.uuid4()) dark_uid2 = str(uuid.uuid4()) dark_scan_list.append((dark_uid, 0.3, time_now-2000)) dark_scan_list.append((dark_uid2, 0.3, time_now-200)) with open (glbl.dk_yaml, 'w') as f: yaml.dump(dark_scan_list, f) test_list = _read_dark_yaml() self.assertEqual(test_list,dark_scan_list) # none with the right exposure scanplan = ScanPlan('ctTest', 'ct', {'exposure':0.01}, shutter=False) prun(self.sa, scanplan) self.assertNotEqual(scanplan.md['sp_params']['dk_field_uid'], dark_uid) # Second one has the right right exposure time glbl.dk_window = 1. scanplan = ScanPlan('ctTest', 'ct', {'exposure':0.01}, shutter=False) prun(self.sa, scanplan) self.assertNotEqual(scanplan.md['sp_params']['dk_field_uid'], dark_uid2)
def test_read_dark_yaml(self): # test if _read_dark_yaml captures exception as we hope self.assertTrue(os.path.isfile( glbl.dk_yaml)) # make sure it exit after _start_beamtime() os.remove(glbl.dk_yaml) self.assertRaises(SystemExit, lambda: _read_dark_yaml())
def test_read_dark_yaml(self): # test if _read_dark_yaml captures exception as we hope self.assertTrue(os.path.isfile(glbl.dk_yaml)) # make sure it exit after _start_beamtime() os.remove(glbl.dk_yaml) self.assertRaises(SystemExit, lambda: _read_dark_yaml())