test_vision.py 1.4 KB

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