def test_move_ignores_m5_for_non_zoom(self):
        mocked_values = {DetectorId.INSTRUMENT: [SANSInstrument.SANS2D],
                         TransId.SPEC_5_SHIFT: [-10.0]}
        adapter = mock.create_autospec(UserFileReader)
        adapter.read_user_file.return_value = mocked_values
        parser = UserFileReaderAdapter(file_information=None, user_file_name=None,
                                       txt_user_file_reader=adapter)
        state_move = parser.get_state_move(file_information=None)

        self.assertAlmostEqual(0.0, state_move.monitor_4_offset)
    def test_move_sets_shift_correctly_m4(self):
        mocked_values = {DetectorId.INSTRUMENT: [SANSInstrument.SANS2D],
                         TransId.SPEC_4_SHIFT: [-10.0]}
        adapter = mock.create_autospec(UserFileReader)
        adapter.read_user_file.return_value = mocked_values
        parser = UserFileReaderAdapter(file_information=None, user_file_name=None,
                                       txt_user_file_reader=adapter)
        state_move = parser.get_state_move(file_information=None)

        self.assertAlmostEqual(-10.0 / self.MM_TO_M, state_move.monitor_4_offset)
    def test_move_m5_works_on_zoom(self):
        mocked_values = {DetectorId.INSTRUMENT: [SANSInstrument.ZOOM],
                         TransId.SPEC_5_SHIFT: [-5.0]}
        adapter = mock.create_autospec(UserFileReader)
        adapter.read_user_file.return_value = mocked_values
        parser = UserFileReaderAdapter(file_information=None, user_file_name=None,
                                       txt_user_file_reader=adapter)
        state_move = parser.get_state_move(file_information=None)

        self.assertIsInstance(state_move, StateMoveZOOM)
        self.assertAlmostEqual(0.0, state_move.monitor_4_offset)
        self.assertAlmostEqual(-5.0 / self.MM_TO_M, state_move.monitor_5_offset)