def setup(self): self.root = RootTask(should_stop=Event(), should_pause=Event()) self.task = ApplyMagFieldTask(name='Test', parallel={'activated': False}) self.root.add_child_task(0, self.task) self.root.run_time[DRIVERS] = {'Test': (InstrHelper, InstrHelperStarter())} self.root.run_time[PROFILES] =\ {'Test1': {'connections': {'C': {'owner': []}}, 'settings': {'S': {'make_ready': [None], 'go_to_field': [None], 'check_connection': [True]}} } } # This is set simply to make sure the test of InstrTask pass. self.task.selected_instrument = ('Test1', 'Test', 'C', 'S')
class TestApplyMagFieldTask(object): def setup(self): self.root = RootTask(should_stop=Event(), should_pause=Event()) self.task = ApplyMagFieldTask(name='Test', parallel={'activated': False}) self.root.add_child_task(0, self.task) self.root.run_time[DRIVERS] = {'Test': (InstrHelper, InstrHelperStarter())} self.root.run_time[PROFILES] =\ {'Test1': {'connections': {'C': {'owner': []}}, 'settings': {'S': {'make_ready': [None], 'go_to_field': [None], 'check_connection': [True]}} } } # This is set simply to make sure the test of InstrTask pass. self.task.selected_instrument = ('Test1', 'Test', 'C', 'S') def test_check1(self): """Simply test that everything is ok if field can be evaluated. """ self.task.field = '3.0' test, traceback = self.task.check(test_instr=True) assert test assert not traceback assert self.task.get_from_database('Test_field') == 3.0 def test_check2(self): """Check handling a wrong field. """ self.task.field = '*1.0*' test, traceback = self.task.check(test_instr=True) assert not test assert len(traceback) == 1 assert 'root/Test-field'in traceback assert self.task.get_from_database('Test_field') == 0.01 def test_perform1(self): """Simple test when everything is right. """ self.task.field = '2.0' self.root.prepare() self.task.perform() assert self.root.get_from_database('Test_field') == 2.0 def test_perform2(self): """Test multiple run when connection is maintained. """ self.task.field = '2.0' self.root.prepare() self.task.perform() self.task.perform() # In case of fail make_ready would be called twice. assert self.root.get_from_database('Test_field') == 2.0