test_vision.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import pytest
  2. from robot_control.src.vision.datamatrix import DataMatrixReader
  3. @pytest.fixture
  4. def datamatrix_reader():
  5. return DataMatrixReader(-1)
  6. @pytest.fixture
  7. def datamatrix_reader_realcam():
  8. return DataMatrixReader()
  9. class TestDataMatrixReader:
  10. def test_init_reader(self, datamatrix_reader_realcam: DataMatrixReader):
  11. assert datamatrix_reader_realcam is not None
  12. def test_read_success(self, datamatrix_reader: DataMatrixReader):
  13. datamatrix_reader.initialize()
  14. result = datamatrix_reader.read_datamatrix()
  15. assert result == "https://batteries.up-cell.de/cells/2224"
  16. def test_read_failure(self, datamatrix_reader: DataMatrixReader):
  17. datamatrix_reader.initialize()
  18. result = datamatrix_reader.read_datamatrix() # first is success
  19. result = datamatrix_reader.read_datamatrix() # second is failure
  20. assert result is None
  21. def test_cleanup(self, datamatrix_reader: DataMatrixReader):
  22. datamatrix_reader.initialize()
  23. datamatrix_reader.cleanup()
  24. assert datamatrix_reader.camera is not None
  25. def test_cleanup_real_camera(self, datamatrix_reader_realcam: DataMatrixReader):
  26. try:
  27. datamatrix_reader_realcam.initialize()
  28. datamatrix_reader_realcam.cleanup()
  29. assert datamatrix_reader_realcam.camera is not None
  30. except Exception:
  31. pytest.skip("No real camera available for testing")