mirror of
https://github.com/bec-project/ophyd_devices.git
synced 2025-06-12 22:37:14 +02:00
test: added tests for dynamic_pseudo
This commit is contained in:
30
tests/test_dynamic_pseudo.py
Normal file
30
tests/test_dynamic_pseudo.py
Normal file
@ -0,0 +1,30 @@
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from ophyd_devices.utils.dynamic_pseudo import ComputedSignal
|
||||
from tests.utils import DMMock
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def device_manager_with_devices():
|
||||
dm = DMMock()
|
||||
dm.add_device("a")
|
||||
dm.add_device("b")
|
||||
device_mock = mock.MagicMock()
|
||||
device_mock.obj.readback.get.return_value = 20
|
||||
dm.devices["a"] = device_mock
|
||||
dm.devices["b"] = device_mock
|
||||
|
||||
return dm
|
||||
|
||||
|
||||
def test_computed_signal(device_manager_with_devices):
|
||||
signal = ComputedSignal(name="test", device_manager=device_manager_with_devices)
|
||||
assert signal.get() is None
|
||||
|
||||
signal.compute_method = "def test(a, b): return a.get() + b.get()"
|
||||
signal.input_signals = ["a_readback", "b_readback"]
|
||||
assert signal.get() == 40
|
||||
|
||||
assert callable(signal.compute_method)
|
Reference in New Issue
Block a user