29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
import pytest
|
|
import cv2
|
|
import numpy as np
|
|
from pipeline_b import star_detector
|
|
|
|
def test_file_exists_and_is_an_image(tmp_path):
|
|
file = tmp_path / "image.jpg"
|
|
tableau_image = np.random.randint(0, 256, (64, 64), dtype=np.uint8)
|
|
cv2.imwrite(str(file), tableau_image)
|
|
assert isinstance(star_detector.reading_picture(file), np.ndarray)
|
|
|
|
def test_file_exists_not_an_image(tmp_path):
|
|
file = tmp_path / "file.txt"
|
|
file.write_text("Not an image.")
|
|
with pytest.raises(ValueError):
|
|
star_detector.reading_picture(file)
|
|
|
|
def test_file_does_not_exists(tmp_path):
|
|
with pytest.raises(FileNotFoundError):
|
|
star_detector.reading_picture(tmp_path/"do_I_exist.txt")
|
|
|
|
@pytest.mark.skip(reason="A corriger : égalité stricte sur flottants, canall couleur incohérent, détour disque inutile")
|
|
def test_blob_detector_actually_detects_a_blob(tmp_path):
|
|
file = tmp_path / "image.jpg"
|
|
tableau_image = np.full((64,64), 0, dtype=np.uint8)
|
|
cv2.imwrite(str(file), tableau_image)
|
|
src = cv2.imread(file)
|
|
cv2.circle(src, center=(23, 31), radius = 5, color= (255, 255, 255), thickness=-1)
|
|
assert star_detector.blob_detector(src) == [(23, 31)] |