mirror of
https://github.com/bec-project/ophyd_devices.git
synced 2025-07-13 20:21:52 +02:00
test: added tests for fupr and flomni galil
This commit is contained in:
60
tests/test_fupr_ophyd.py
Normal file
60
tests/test_fupr_ophyd.py
Normal file
@ -0,0 +1,60 @@
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from utils import SocketMock
|
||||
|
||||
from ophyd_devices.galil.fupr_ophyd import FuprGalilController, FuprGalilMotor
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def fsamroy():
|
||||
FuprGalilController._reset_controller()
|
||||
fsamroy_motor = FuprGalilMotor(
|
||||
"A", name="fsamroy", host="mpc2680.psi.ch", port=8081, socket_cls=SocketMock
|
||||
)
|
||||
fsamroy_motor.controller.on()
|
||||
assert isinstance(fsamroy_motor.controller, FuprGalilController)
|
||||
yield fsamroy_motor
|
||||
fsamroy_motor.controller.off()
|
||||
fsamroy_motor.controller._reset_controller()
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"pos,msg_received,msg_put,sign",
|
||||
[
|
||||
(-0.5, b" -12800\n\r", [b"TPA\r", b"MG_BGA\r", b"TPA\r"], 1),
|
||||
(-0.5, b" 12800\n\r", [b"TPA\r", b"MG_BGA\r", b"TPA\r"], -1),
|
||||
],
|
||||
)
|
||||
def test_axis_get(fsamroy, pos, msg_received, msg_put, sign):
|
||||
fsamroy.sign = sign
|
||||
fsamroy.device_manager = mock.MagicMock()
|
||||
fsamroy.controller.sock.flush_buffer()
|
||||
fsamroy.controller.sock.buffer_recv = msg_received
|
||||
val = fsamroy.read()
|
||||
assert val["fsamroy"]["value"] == pos
|
||||
assert fsamroy.readback.get() == pos
|
||||
assert fsamroy.controller.sock.buffer_put == msg_put
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"target_pos,socket_put_messages,socket_get_messages",
|
||||
[
|
||||
(
|
||||
0,
|
||||
[b"MG axisref\r", b"PAA=0\r", b"PAA=0\r", b"BGA\r"],
|
||||
[b"1.00", b"-1", b":", b":", b":", b":", b"-1"],
|
||||
)
|
||||
],
|
||||
)
|
||||
def test_axis_put(fsamroy, target_pos, socket_put_messages, socket_get_messages):
|
||||
fsamroy.controller.sock.flush_buffer()
|
||||
fsamroy.controller.sock.buffer_recv = socket_get_messages
|
||||
fsamroy.user_setpoint.put(target_pos)
|
||||
assert fsamroy.controller.sock.buffer_put == socket_put_messages
|
||||
|
||||
|
||||
def test_drive_axis_to_limit(fsamroy):
|
||||
fsamroy.controller.sock.flush_buffer()
|
||||
with pytest.raises(NotImplementedError):
|
||||
fsamroy.controller.drive_axis_to_limit(0, "forward")
|
Reference in New Issue
Block a user