mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
refactor: cleanup, added device_signal for signal inputs
This commit is contained in:
@ -36,7 +36,7 @@ def test_device_input_base_init(device_input_base):
|
||||
assert device_input_base.client is not None
|
||||
assert isinstance(device_input_base, DeviceInputBase)
|
||||
assert device_input_base.config.widget_class == "DeviceInputWidget"
|
||||
assert device_input_base.config.device_filter is None
|
||||
assert device_input_base.config.device_filter == []
|
||||
assert device_input_base.config.default is None
|
||||
assert device_input_base.devices == []
|
||||
|
||||
@ -62,17 +62,15 @@ def test_device_input_base_set_device_filter(device_input_base):
|
||||
|
||||
|
||||
def test_device_input_base_set_device_filter_error(device_input_base):
|
||||
"""Test set_device_filter with Noneexisting class"""
|
||||
with pytest.raises(ValueError) as excinfo:
|
||||
device_input_base.set_device_filter("NonExistingClass")
|
||||
assert "Device filter NonExistingClass is not in the device list." in str(excinfo.value)
|
||||
"""Test set_device_filter with Noneexisting class. This should not raise. It writes a log message entry."""
|
||||
device_input_base.set_device_filter("NonExistingClass")
|
||||
assert device_input_base.device_filter == []
|
||||
|
||||
|
||||
def test_device_input_base_set_default_device(device_input_base):
|
||||
"""Test setting the default device. Also tests the update_devices method."""
|
||||
with pytest.raises(ValueError) as excinfo:
|
||||
device_input_base.set_device("samx")
|
||||
assert "Device samx is not in filtered selection." in str(excinfo.value)
|
||||
device_input_base.set_device("samx")
|
||||
assert device_input_base.config.default == None
|
||||
device_input_base.set_device_filter(BECDeviceFilter.POSITIONER)
|
||||
device_input_base.set_readout_priority_filter(ReadoutPriority.MONITORED)
|
||||
device_input_base.set_device("samx")
|
||||
@ -99,17 +97,17 @@ def test_device_input_base_get_filters(device_input_base):
|
||||
def test_device_input_base_properties(device_input_base):
|
||||
"""Test setting the properties of the device input base."""
|
||||
assert device_input_base.device_filter == []
|
||||
device_input_base.include_device = True
|
||||
device_input_base.filter_to_device = True
|
||||
assert device_input_base.device_filter == [BECDeviceFilter.DEVICE]
|
||||
device_input_base.include_positioner = True
|
||||
device_input_base.filter_to_positioner = True
|
||||
assert device_input_base.device_filter == [BECDeviceFilter.DEVICE, BECDeviceFilter.POSITIONER]
|
||||
device_input_base.include_computed_signal = True
|
||||
device_input_base.filter_to_computed_signal = True
|
||||
assert device_input_base.device_filter == [
|
||||
BECDeviceFilter.DEVICE,
|
||||
BECDeviceFilter.POSITIONER,
|
||||
BECDeviceFilter.COMPUTED_SIGNAL,
|
||||
]
|
||||
device_input_base.include_signal = True
|
||||
device_input_base.filter_to_signal = True
|
||||
assert device_input_base.device_filter == [
|
||||
BECDeviceFilter.DEVICE,
|
||||
BECDeviceFilter.POSITIONER,
|
||||
|
@ -16,21 +16,6 @@ def device_input_combobox(qtbot, mocked_client):
|
||||
yield widget
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_combobox_with_config(qtbot, mocked_client):
|
||||
config = {
|
||||
"widget_class": "DeviceComboBox",
|
||||
"gui_id": "test_gui_id",
|
||||
"device_filter": [BECDeviceFilter.POSITIONER],
|
||||
"default": "samx",
|
||||
"arg_name": "test_arg_name",
|
||||
}
|
||||
widget = DeviceComboBox(client=mocked_client, config=config)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_combobox_with_kwargs(qtbot, mocked_client):
|
||||
widget = DeviceComboBox(
|
||||
@ -72,13 +57,6 @@ def test_device_input_combobox_init(device_input_combobox):
|
||||
]
|
||||
|
||||
|
||||
def test_device_input_combobox_init_with_config(device_input_combobox_with_config):
|
||||
assert device_input_combobox_with_config.config.gui_id == "test_gui_id"
|
||||
assert device_input_combobox_with_config.config.device_filter == [BECDeviceFilter.POSITIONER]
|
||||
assert device_input_combobox_with_config.config.default == "samx"
|
||||
assert device_input_combobox_with_config.config.arg_name == "test_arg_name"
|
||||
|
||||
|
||||
def test_device_input_combobox_init_with_kwargs(device_input_combobox_with_kwargs):
|
||||
assert device_input_combobox_with_kwargs.config.gui_id == "test_gui_id"
|
||||
assert device_input_combobox_with_kwargs.config.device_filter == [BECDeviceFilter.POSITIONER]
|
||||
@ -102,21 +80,6 @@ def device_input_line_edit(qtbot, mocked_client):
|
||||
yield widget
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_line_edit_with_config(qtbot, mocked_client):
|
||||
config = {
|
||||
"widget_class": "DeviceLineEdit",
|
||||
"gui_id": "test_gui_id",
|
||||
"device_filter": [BECDeviceFilter.POSITIONER],
|
||||
"default": "samx",
|
||||
"arg_name": "test_arg_name",
|
||||
}
|
||||
widget = DeviceLineEdit(client=mocked_client, config=config)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_line_edit_with_kwargs(qtbot, mocked_client):
|
||||
widget = DeviceLineEdit(
|
||||
@ -137,7 +100,13 @@ def test_device_input_line_edit_init(device_input_line_edit):
|
||||
assert isinstance(device_input_line_edit, DeviceLineEdit)
|
||||
assert device_input_line_edit.config.widget_class == "DeviceLineEdit"
|
||||
assert device_input_line_edit.config.device_filter == []
|
||||
assert device_input_line_edit.config.readout_filter == []
|
||||
assert device_input_line_edit.config.readout_filter == [
|
||||
ReadoutPriority.MONITORED,
|
||||
ReadoutPriority.BASELINE,
|
||||
ReadoutPriority.ASYNC,
|
||||
ReadoutPriority.CONTINUOUS,
|
||||
ReadoutPriority.ON_REQUEST,
|
||||
]
|
||||
assert device_input_line_edit.config.default is None
|
||||
assert device_input_line_edit.devices == [
|
||||
"samx",
|
||||
@ -160,13 +129,6 @@ def test_device_input_line_edit_init(device_input_line_edit):
|
||||
]
|
||||
|
||||
|
||||
def test_device_input_line_edit_init_with_config(device_input_line_edit_with_config):
|
||||
assert device_input_line_edit_with_config.config.gui_id == "test_gui_id"
|
||||
assert device_input_line_edit_with_config.config.device_filter == [BECDeviceFilter.POSITIONER]
|
||||
assert device_input_line_edit_with_config.config.default == "samx"
|
||||
assert device_input_line_edit_with_config.config.arg_name == "test_arg_name"
|
||||
|
||||
|
||||
def test_device_input_line_edit_init_with_kwargs(device_input_line_edit_with_kwargs):
|
||||
assert device_input_line_edit_with_kwargs.config.gui_id == "test_gui_id"
|
||||
assert device_input_line_edit_with_kwargs.config.device_filter == [BECDeviceFilter.POSITIONER]
|
||||
|
@ -1,12 +1,12 @@
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from ophyd import Kind
|
||||
from qtpy.QtWidgets import QWidget
|
||||
|
||||
from bec_widgets.widgets.base_classes.device_signal_input_base import (
|
||||
BECSignalFilter,
|
||||
DeviceSignalInputBase,
|
||||
)
|
||||
from bec_widgets.widgets.base_classes.device_input_base import BECDeviceFilter
|
||||
from bec_widgets.widgets.base_classes.device_signal_input_base import DeviceSignalInputBase
|
||||
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
|
||||
from bec_widgets.widgets.signal_combobox.signal_combobox import SignalComboBox
|
||||
from bec_widgets.widgets.signal_line_edit.signal_line_edit import SignalLineEdit
|
||||
|
||||
@ -45,6 +45,19 @@ def device_signal_line_edit(qtbot, mocked_client):
|
||||
yield widget
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def test_device_signal_combo(qtbot, mocked_client):
|
||||
"""Fixture to create a SignalComboBox widget and a DeviceInputWidget widget"""
|
||||
input = create_widget(
|
||||
qtbot=qtbot,
|
||||
widget=DeviceComboBox,
|
||||
client=mocked_client,
|
||||
device_filter=[BECDeviceFilter.POSITIONER],
|
||||
)
|
||||
signal = create_widget(qtbot=qtbot, widget=SignalComboBox, client=mocked_client)
|
||||
yield input, signal
|
||||
|
||||
|
||||
def test_device_signal_base_init(device_signal_base):
|
||||
"""Test if the DeviceSignalInputBase is initialized correctly"""
|
||||
assert device_signal_base._device is None
|
||||
@ -58,15 +71,11 @@ def test_device_signal_base_init(device_signal_base):
|
||||
def test_device_signal_qproperties(device_signal_base):
|
||||
"""Test if the DeviceSignalInputBase has the correct QProperties"""
|
||||
device_signal_base.include_config_signals = True
|
||||
assert device_signal_base._signal_filter == [BECSignalFilter.CONFIG]
|
||||
assert device_signal_base._signal_filter == [Kind.config]
|
||||
device_signal_base.include_normal_signals = True
|
||||
assert device_signal_base._signal_filter == [BECSignalFilter.CONFIG, BECSignalFilter.NORMAL]
|
||||
assert device_signal_base._signal_filter == [Kind.config, Kind.normal]
|
||||
device_signal_base.include_hinted_signals = True
|
||||
assert device_signal_base._signal_filter == [
|
||||
BECSignalFilter.CONFIG,
|
||||
BECSignalFilter.NORMAL,
|
||||
BECSignalFilter.HINTED,
|
||||
]
|
||||
assert device_signal_base._signal_filter == [Kind.config, Kind.normal, Kind.hinted]
|
||||
|
||||
|
||||
def test_device_signal_set_device(device_signal_base):
|
||||
|
Reference in New Issue
Block a user