Spaces:
Runtime error
Runtime error
| """Tests unitaires pour dog_breed_classifier/modeling/predict.py.""" | |
| import numpy as np | |
| import pytest | |
| from PIL import Image | |
| from dog_breed_classifier.modeling.predict import preprocess | |
| def test_preprocess_output_shape(sample_image): | |
| result = preprocess(sample_image, img_size=(224, 224)) | |
| assert result.shape == (1, 224, 224, 3) | |
| def test_preprocess_output_dtype(sample_image): | |
| result = preprocess(sample_image, img_size=(224, 224)) | |
| assert result.dtype == np.float32 | |
| def test_preprocess_no_normalization(): | |
| """Les valeurs doivent rester dans [0, 255] — pas de division par 255.""" | |
| bright_image = Image.new("RGB", (50, 50), color=(200, 200, 200)) | |
| result = preprocess(bright_image, img_size=(224, 224)) | |
| assert result.max() > 1.0, "Les pixels ne doivent pas être normalisés dans preprocess" | |
| def test_preprocess_resizes_correctly(): | |
| """L'image doit être redimensionnée à la taille demandée.""" | |
| small_image = Image.new("RGB", (32, 32), color=(100, 100, 100)) | |
| result = preprocess(small_image, img_size=(299, 299)) | |
| assert result.shape == (1, 299, 299, 3) | |
| def test_preprocess_converts_to_rgb(): | |
| """Les images RGBA ou L doivent être converties en RGB.""" | |
| gray_image = Image.new("L", (50, 50), color=128) | |
| result = preprocess(gray_image, img_size=(224, 224)) | |
| assert result.shape == (1, 224, 224, 3) | |
| def test_preprocess_batch_dimension(sample_image): | |
| """La première dimension doit toujours être 1 (batch size).""" | |
| result = preprocess(sample_image, img_size=(224, 224)) | |
| assert result.ndim == 4 | |
| assert result.shape[0] == 1 | |