mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
test(device_input): tests added
This commit is contained in:
@ -47,6 +47,7 @@ class FakePositioner(FakeDevice):
|
||||
super().__init__(name, enabled)
|
||||
self.limits = limits if limits is not None else [0, 0]
|
||||
self.read_value = read_value
|
||||
self.name = name
|
||||
|
||||
def set_read_value(self, value):
|
||||
self.read_value = value
|
||||
|
66
tests/unit_tests/test_device_input_base.py
Normal file
66
tests/unit_tests/test_device_input_base.py
Normal file
@ -0,0 +1,66 @@
|
||||
import pytest
|
||||
|
||||
from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase
|
||||
|
||||
from .client_mocks import mocked_client
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_base(mocked_client):
|
||||
widget = DeviceInputBase(client=mocked_client)
|
||||
yield widget
|
||||
|
||||
|
||||
def test_device_input_base_init(device_input_base):
|
||||
assert device_input_base is not None
|
||||
assert device_input_base.client is not None
|
||||
assert isinstance(device_input_base, DeviceInputBase)
|
||||
assert device_input_base.config.widget_class == "DeviceInputBase"
|
||||
assert device_input_base.config.device_filter is None
|
||||
assert device_input_base.config.default_device is None
|
||||
assert device_input_base.devices == []
|
||||
|
||||
|
||||
def test_device_input_base_init_with_config(mocked_client):
|
||||
config = {
|
||||
"widget_class": "DeviceInputBase",
|
||||
"gui_id": "test_gui_id",
|
||||
"device_filter": "FakePositioner",
|
||||
"default_device": "samx",
|
||||
}
|
||||
widget = DeviceInputBase(client=mocked_client, config=config)
|
||||
assert widget.config.gui_id == "test_gui_id"
|
||||
assert widget.config.device_filter == "FakePositioner"
|
||||
assert widget.config.default_device == "samx"
|
||||
|
||||
|
||||
def test_device_input_base_set_device_filter(device_input_base):
|
||||
device_input_base.set_device_filter("FakePositioner")
|
||||
assert device_input_base.config.device_filter == "FakePositioner"
|
||||
|
||||
|
||||
def test_device_input_base_set_device_filter_error(device_input_base):
|
||||
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)
|
||||
|
||||
|
||||
def test_device_input_base_set_default_device(device_input_base):
|
||||
device_input_base.set_default_device("samx")
|
||||
assert device_input_base.config.default_device == "samx"
|
||||
|
||||
|
||||
def test_device_input_base_set_default_device_error(device_input_base):
|
||||
with pytest.raises(ValueError) as excinfo:
|
||||
device_input_base.set_default_device("NonExistingDevice")
|
||||
assert "Default device NonExistingDevice is not in the device list." in str(excinfo.value)
|
||||
|
||||
|
||||
def test_device_input_base_get_device_list(device_input_base):
|
||||
devices = device_input_base.get_device_list("FakePositioner")
|
||||
assert devices == ["samx", "samy", "aptrx", "aptry"]
|
||||
|
||||
|
||||
def test_device_input_base_get_filters(device_input_base):
|
||||
filters = device_input_base.get_available_filters()
|
||||
assert filters == {"FakePositioner", "FakeDevice"}
|
176
tests/unit_tests/test_device_input_widgets.py
Normal file
176
tests/unit_tests/test_device_input_widgets.py
Normal file
@ -0,0 +1,176 @@
|
||||
import pytest
|
||||
|
||||
from bec_widgets.widgets.device_inputs.device_combobox.device_combobox import DeviceComboBox
|
||||
from bec_widgets.widgets.device_inputs.device_line_edit.device_line_edit import DeviceLineEdit
|
||||
|
||||
from .client_mocks import mocked_client
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_combobox(qtbot, mocked_client):
|
||||
widget = DeviceComboBox(client=mocked_client)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
widget.close()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_combobox_with_config(qtbot, mocked_client):
|
||||
config = {
|
||||
"widget_class": "DeviceComboBox",
|
||||
"gui_id": "test_gui_id",
|
||||
"device_filter": "FakePositioner",
|
||||
"default_device": "samx",
|
||||
"arg_name": "test_arg_name",
|
||||
}
|
||||
widget = DeviceComboBox(client=mocked_client, config=config)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
widget.close()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_combobox_with_kwargs(qtbot, mocked_client):
|
||||
widget = DeviceComboBox(
|
||||
client=mocked_client,
|
||||
gui_id="test_gui_id",
|
||||
device_filter="FakePositioner",
|
||||
default_device="samx",
|
||||
arg_name="test_arg_name",
|
||||
)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
widget.close()
|
||||
|
||||
|
||||
def test_device_input_combobox_init(device_input_combobox):
|
||||
assert device_input_combobox is not None
|
||||
assert device_input_combobox.client is not None
|
||||
assert isinstance(device_input_combobox, DeviceComboBox)
|
||||
assert device_input_combobox.config.widget_class == "DeviceComboBox"
|
||||
assert device_input_combobox.config.device_filter is None
|
||||
assert device_input_combobox.config.default_device is None
|
||||
assert device_input_combobox.devices == [
|
||||
"samx",
|
||||
"samy",
|
||||
"aptrx",
|
||||
"aptry",
|
||||
"gauss_bpm",
|
||||
"gauss_adc1",
|
||||
"gauss_adc2",
|
||||
"gauss_adc3",
|
||||
"bpm4i",
|
||||
"bpm3a",
|
||||
"bpm3i",
|
||||
"eiger",
|
||||
]
|
||||
|
||||
|
||||
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 == "FakePositioner"
|
||||
assert device_input_combobox_with_config.config.default_device == "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 == "FakePositioner"
|
||||
assert device_input_combobox_with_kwargs.config.default_device == "samx"
|
||||
assert device_input_combobox_with_kwargs.config.arg_name == "test_arg_name"
|
||||
|
||||
|
||||
def test_get_device_from_input_combobox_init(device_input_combobox):
|
||||
device_input_combobox.setCurrentIndex(0)
|
||||
device_text = device_input_combobox.currentText()
|
||||
current_device = device_input_combobox.get_device()
|
||||
|
||||
assert current_device.name == device_text
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_line_edit(qtbot, mocked_client):
|
||||
widget = DeviceLineEdit(client=mocked_client)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
widget.close()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_line_edit_with_config(qtbot, mocked_client):
|
||||
config = {
|
||||
"widget_class": "DeviceLineEdit",
|
||||
"gui_id": "test_gui_id",
|
||||
"device_filter": "FakePositioner",
|
||||
"default_device": "samx",
|
||||
"arg_name": "test_arg_name",
|
||||
}
|
||||
widget = DeviceLineEdit(client=mocked_client, config=config)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
widget.close()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_input_line_edit_with_kwargs(qtbot, mocked_client):
|
||||
widget = DeviceLineEdit(
|
||||
client=mocked_client,
|
||||
gui_id="test_gui_id",
|
||||
device_filter="FakePositioner",
|
||||
default_device="samx",
|
||||
arg_name="test_arg_name",
|
||||
)
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
yield widget
|
||||
widget.close()
|
||||
|
||||
|
||||
def test_device_input_line_edit_init(device_input_line_edit):
|
||||
assert device_input_line_edit is not None
|
||||
assert device_input_line_edit.client is not None
|
||||
assert isinstance(device_input_line_edit, DeviceLineEdit)
|
||||
assert device_input_line_edit.config.widget_class == "DeviceLineEdit"
|
||||
assert device_input_line_edit.config.device_filter is None
|
||||
assert device_input_line_edit.config.default_device is None
|
||||
assert device_input_line_edit.devices == [
|
||||
"samx",
|
||||
"samy",
|
||||
"aptrx",
|
||||
"aptry",
|
||||
"gauss_bpm",
|
||||
"gauss_adc1",
|
||||
"gauss_adc2",
|
||||
"gauss_adc3",
|
||||
"bpm4i",
|
||||
"bpm3a",
|
||||
"bpm3i",
|
||||
"eiger",
|
||||
]
|
||||
|
||||
|
||||
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 == "FakePositioner"
|
||||
assert device_input_line_edit_with_config.config.default_device == "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 == "FakePositioner"
|
||||
assert device_input_line_edit_with_kwargs.config.default_device == "samx"
|
||||
assert device_input_line_edit_with_kwargs.config.arg_name == "test_arg_name"
|
||||
|
||||
|
||||
def test_get_device_from_input_line_edit_init(device_input_line_edit):
|
||||
device_input_line_edit.setText("samx")
|
||||
device_text = device_input_line_edit.text()
|
||||
current_device = device_input_line_edit.get_device()
|
||||
|
||||
assert current_device.name == device_text
|
Reference in New Issue
Block a user