Compare commits
2 Commits
fbc109a42a
...
c89ff607df
Author | SHA1 | Date | |
---|---|---|---|
c89ff607df | |||
bab438a456 |
BIN
ml/MicrosoftTeams-image.png
Normal file
BIN
ml/MicrosoftTeams-image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
57
ml/test.py
Normal file
57
ml/test.py
Normal file
@ -0,0 +1,57 @@
|
||||
import unittest
|
||||
from unittest.mock import Mock, patch
|
||||
from element_detection import detect, show_image_with_boxes, BoundBox
|
||||
|
||||
class TestYourModule(unittest.TestCase):
|
||||
|
||||
@patch('element_detection.FACES_MODEL.predict')
|
||||
@patch('element_detection.PLATES_MODEL.predict')
|
||||
def test_detect(self, mock_plates_predict, mock_faces_predict):
|
||||
# Przygotuj dane testowe
|
||||
image_path = 'blurme/ml/MicrosoftTeams-image.png'
|
||||
mock_faces_predict.__iter__.return_value = [Mock(cpu=Mock(return_value=Mock(numpy=Mock(boxes=[Mock(xyxy=[1, 2, 3, 4])]))))]
|
||||
mock_plates_predict.__iter__.return_value = [Mock(cpu=Mock(return_value=Mock(numpy=Mock(boxes=[Mock(xyxy=[5, 6, 7, 8])]))))]
|
||||
|
||||
# Wywołaj funkcję
|
||||
result = detect(image_path)
|
||||
|
||||
# Sprawdź, czy otrzymałeś oczekiwany wynik
|
||||
expected_result = [BoundBox(1, 2, 3, 4), BoundBox(5, 6, 7, 8)]
|
||||
self.assertEqual(result, expected_result)
|
||||
|
||||
@patch('element_detection.ImageDraw.Draw')
|
||||
@patch('element_detection.ImageFont.truetype')
|
||||
#@patch('element_detection.Image.save')
|
||||
@patch('element_detection.Image.open')
|
||||
def test_show_image_with_boxes(self, mock_image_open,
|
||||
#mock_image_save,
|
||||
mock_truetype, mock_draw):
|
||||
# Przygotuj dane testowe
|
||||
in_image_path = 'blurme/ml/MicrosoftTeams-image.png'
|
||||
bounding_boxes = [BoundBox(1, 2, 3, 4), BoundBox(5, 6, 7, 8)]
|
||||
|
||||
# Wywołaj funkcję
|
||||
show_image_with_boxes(in_image_path, bounding_boxes)
|
||||
|
||||
# Sprawdź, czy odpowiednie metody zostały wywołane z oczekiwanymi argumentami
|
||||
mock_image_open.assert_called_once_with(in_image_path)
|
||||
mock_draw.assert_called_once()
|
||||
# mock_image_save.assert_called_once()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
def test_detect_with_stub(self, mock_plates_predict, mock_faces_predict):
|
||||
# Przygotuj dane testowe
|
||||
image_path = 'blurme/ml/MicrosoftTeams-image.png'
|
||||
mock_faces_predict.__iter__.return_value = [Mock(cpu=Mock(return_value=Mock(numpy=Mock(boxes=[Mock(xyxy=[1, 2, 3, 4])]))))]
|
||||
mock_plates_predict.__iter__.return_value = [Mock(cpu=Mock(return_value=Mock(numpy=Mock(boxes=[Mock(xyxy=[5, 6, 7, 8])]))))]
|
||||
|
||||
# Użyj stuba zamiast rzeczywistego BoundBox
|
||||
with patch('element_detection.BoundBox', StubBoundBox):
|
||||
# Wywołaj funkcję
|
||||
result = detect(image_path)
|
||||
|
||||
# Sprawdź, czy otrzymałeś oczekiwany wynik
|
||||
expected_result = [StubBoundBox(1, 2, 3, 4), StubBoundBox(5, 6, 7, 8)]
|
||||
self.assertEqual(result, expected_result)
|
Loading…
Reference in New Issue
Block a user