Add Feetech & Dxl basic tests

This commit is contained in:
Simon Alibert 2025-03-15 21:45:05 +01:00
parent 3362b665e6
commit 7f23972f3f
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,24 @@
import sys
from unittest.mock import patch
import pytest
from tests.mocks import mock_dynamixel_sdk
@pytest.fixture(autouse=True)
def patch_dynamixel_sdk():
with patch.dict(sys.modules, {"dynamixel_sdk": mock_dynamixel_sdk}):
yield
def test_patch_sdk():
assert "dynamixel_sdk" in sys.modules # Should be patched
assert sys.modules["dynamixel_sdk"] is mock_dynamixel_sdk # Should match the mock
def test_abc_implementation():
from lerobot.common.motors.dynamixel import DynamixelMotorsBus
# Instantiation should raise an error if the class doesn't implements abstract methods/properties
DynamixelMotorsBus(port="/dev/dummy-port", motors={"dummy", (1, "xl330-m077")})

View File

@ -0,0 +1,24 @@
import sys
from unittest.mock import patch
import pytest
from tests.mocks import mock_scservo_sdk
@pytest.fixture(autouse=True)
def patch_scservo_sdk():
with patch.dict(sys.modules, {"scservo_sdk": mock_scservo_sdk}):
yield
def test_patch_sdk():
assert "scservo_sdk" in sys.modules # Should be patched
assert sys.modules["scservo_sdk"] is mock_scservo_sdk # Should match the mock
def test_abc_implementation():
from lerobot.common.motors.feetech import FeetechMotorsBus
# Instantiation should raise an error if the class doesn't implements abstract methods/properties
FeetechMotorsBus(port="/dev/dummy-port", motors={"dummy", (1, "sts3215")})