| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import pytest
- from robot_control.src.vision.datamatrix import DataMatrixReader
- from robot_control.src.utils.config import VisionConfig
- @pytest.fixture
- def vision_config_mock():
- return VisionConfig(
- camera_id=-1,
- resolution=(640, 480),
- frame_rate=30,
- exposure=100,
- gain=1.0,
- bbox=(0, 0, 640, 480)
- )
- @pytest.fixture
- def vision_config_real():
- return VisionConfig(
- camera_id=0,
- resolution=(640, 480),
- frame_rate=30,
- exposure=100,
- gain=1.0,
- bbox=(0, 0, 640, 480)
- )
- @pytest.fixture
- def datamatrix_reader(vision_config_mock):
- return DataMatrixReader(vision_config_mock)
- @pytest.fixture
- def datamatrix_reader_realcam(vision_config_real):
- return DataMatrixReader(vision_config_real)
- class TestDataMatrixReader:
- def test_init_reader(self, datamatrix_reader_realcam: DataMatrixReader):
- assert datamatrix_reader_realcam is not None
- def test_read_success(self, datamatrix_reader: DataMatrixReader):
- datamatrix_reader.initialize()
- result = datamatrix_reader.read_datamatrix()
- assert result == "60"
- def test_read_failure(self, datamatrix_reader: DataMatrixReader):
- datamatrix_reader.initialize()
- result = datamatrix_reader.read_datamatrix() # first is success
- result = datamatrix_reader.read_datamatrix() # second is failure
- assert result is None
- def test_cleanup(self, datamatrix_reader: DataMatrixReader):
- datamatrix_reader.initialize()
- datamatrix_reader.cleanup()
- assert datamatrix_reader.camera is not None
-
- def test_cleanup_real_camera(self, datamatrix_reader_realcam: DataMatrixReader):
- try:
- datamatrix_reader_realcam.initialize()
- datamatrix_reader_realcam.cleanup()
- assert datamatrix_reader_realcam.camera is not None
- except Exception:
- pytest.skip("No real camera available for testing")
|