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)]