diff --git a/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py b/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py index 66c26029..352fac15 100644 --- a/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +++ b/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py @@ -49,7 +49,7 @@ class DeviceSignalInputBase(BECWidget): self._device = None self.get_bec_shortcuts() - self._signal_filter = [] + self._signal_filter = set() self._signals = [] self._hinted_signals = [] self._normal_signals = [] @@ -158,9 +158,9 @@ class DeviceSignalInputBase(BECWidget): @include_hinted_signals.setter def include_hinted_signals(self, value: bool): if value: - self._signal_filter.append(Kind.hinted) + self._signal_filter.add(Kind.hinted) else: - self._signal_filter.remove(Kind.hinted) + self._signal_filter.discard(Kind.hinted) self.update_signals_from_filters() @Property(bool) @@ -171,9 +171,9 @@ class DeviceSignalInputBase(BECWidget): @include_normal_signals.setter def include_normal_signals(self, value: bool): if value: - self._signal_filter.append(Kind.normal) + self._signal_filter.add(Kind.normal) else: - self._signal_filter.remove(Kind.normal) + self._signal_filter.discard(Kind.normal) self.update_signals_from_filters() @Property(bool) @@ -184,9 +184,9 @@ class DeviceSignalInputBase(BECWidget): @include_config_signals.setter def include_config_signals(self, value: bool): if value: - self._signal_filter.append(Kind.config) + self._signal_filter.add(Kind.config) else: - self._signal_filter.remove(Kind.config) + self._signal_filter.discard(Kind.config) self.update_signals_from_filters() ### Properties and Methods ### diff --git a/tests/unit_tests/test_device_signal_input.py b/tests/unit_tests/test_device_signal_input.py index c4ac76d7..324ea481 100644 --- a/tests/unit_tests/test_device_signal_input.py +++ b/tests/unit_tests/test_device_signal_input.py @@ -67,7 +67,7 @@ def test_device_signal_combo(qtbot, mocked_client): def test_device_signal_base_init(device_signal_base): """Test if the DeviceSignalInputBase is initialized correctly""" assert device_signal_base._device is None - assert device_signal_base._signal_filter == [] + assert device_signal_base._signal_filter == set() assert device_signal_base._signals == [] assert device_signal_base._hinted_signals == [] assert device_signal_base._normal_signals == [] @@ -77,11 +77,17 @@ 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 == [Kind.config] + assert device_signal_base._signal_filter == {Kind.config} device_signal_base.include_normal_signals = True - assert device_signal_base._signal_filter == [Kind.config, Kind.normal] + assert device_signal_base._signal_filter == {Kind.config, Kind.normal} device_signal_base.include_hinted_signals = True - assert device_signal_base._signal_filter == [Kind.config, Kind.normal, Kind.hinted] + assert device_signal_base._signal_filter == {Kind.config, Kind.normal, Kind.hinted} + device_signal_base.include_hinted_signals = True + assert device_signal_base._signal_filter == {Kind.config, Kind.normal, Kind.hinted} + device_signal_base.include_hinted_signals = True + assert device_signal_base._signal_filter == {Kind.config, Kind.normal, Kind.hinted} + device_signal_base.include_hinted_signals = False + assert device_signal_base._signal_filter == {Kind.config, Kind.normal} def test_device_signal_set_device(device_signal_base):