refactor(shutter): Refactor signal structure of shutter device

This commit is contained in:
2025-11-28 13:14:56 +01:00
committed by David Perl
parent ad1b042f2e
commit 77eaca174e
2 changed files with 84 additions and 59 deletions

View File

@@ -11,31 +11,37 @@ def mock_shutter():
def test_shutter_open(mock_shutter):
mock_shutter.is_enabled._read_pv.mock_data = ShutterEnabled.ENABLED.value
mock_shutter.epics_control.is_enabled._read_pv.mock_data = ShutterEnabled.ENABLED.value
mock_shutter.epics_control.is_open._read_pv.mock_data = ShutterOpenState.CLOSED.value
mock_shutter.is_open._read_pv.mock_data = ShutterOpenState.CLOSED.value
st = mock_shutter.open()
st = mock_shutter.set_open.set(1)
assert not st.done
mock_shutter.is_open._read_pv.mock_data = ShutterOpenState.OPEN.value
mock_shutter.epics_control.is_open._read_pv.mock_data = ShutterOpenState.OPEN.value
assert st.done
def test_shutter_close(mock_shutter):
mock_shutter.is_enabled._read_pv.mock_data = ShutterEnabled.ENABLED.value
mock_shutter.epics_control.is_enabled._read_pv.mock_data = ShutterEnabled.ENABLED.value
mock_shutter.epics_control.is_open._read_pv.mock_data = ShutterOpenState.OPEN.value
mock_shutter.is_open._read_pv.mock_data = ShutterOpenState.OPEN.value
st = mock_shutter.close()
st = mock_shutter.set_open.set(0)
assert not st.done
mock_shutter.is_open._read_pv.mock_data = ShutterOpenState.CLOSED.value
mock_shutter.epics_control.is_open._read_pv.mock_data = ShutterOpenState.CLOSED.value
assert st.done
def test_shutter_not_enabled(mock_shutter):
with pytest.raises(RuntimeError) as e:
mock_shutter.open()
assert e.match("The shutter is disabled!")
mock_shutter.set_open.set(1)
assert e.match(f"The shutter {mock_shutter.name} is disabled!")
def test_shutter_status(mock_shutter):
mock_shutter.epics_control.is_open._read_pv.mock_data = ShutterOpenState.OPEN.value
mock_shutter.is_open._read_pv.mock_data = ShutterOpenState.OPEN.value
assert mock_shutter.status() == ShutterOpenState.OPEN.value
assert mock_shutter.is_open.get() == ShutterOpenState.OPEN.value
mock_shutter.epics_control.is_open._read_pv.mock_data = ShutterOpenState.CLOSED.value
mock_shutter.is_open._read_pv.mock_data = ShutterOpenState.CLOSED.value
assert mock_shutter.status() == ShutterOpenState.CLOSED.value
assert mock_shutter.is_open.get() == ShutterOpenState.CLOSED.value