first comit
This commit is contained in:
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
41
tests/test_calculate_new_height.py
Normal file
41
tests/test_calculate_new_height.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from tp_multiprocessing.process import calculate_new_height
|
||||
import pytest
|
||||
|
||||
# ## Tests des cas de succès et des cas limites ##
|
||||
|
||||
@pytest.mark.parametrize("orig_width, orig_height, new_width, expected_height", [
|
||||
# Cas 1: Réduction standard (ratio 16:9)
|
||||
(1920, 1080, 960, 540),
|
||||
|
||||
# Cas 2: Format portrait
|
||||
(800, 1200, 400, 600),
|
||||
|
||||
# Cas 3: Pas de redimensionnement (la nouvelle largeur est identique)
|
||||
(1024, 768, 1024, 768),
|
||||
|
||||
# Cas 4: Le calcul du ratio produit un flottant (test de la conversion en int)
|
||||
(300, 200, 100, 66), # 200 * (100/300) = 66.66... -> 66
|
||||
|
||||
# Cas 5: Agrandissement (upscaling)
|
||||
(100, 100, 250, 250),
|
||||
|
||||
# Cas 6: Hauteur d'origine nulle
|
||||
(1000, 0, 500, 0)
|
||||
])
|
||||
def test_calculate_new_height_various_scenarios(orig_width, orig_height, new_width, expected_height):
|
||||
"""
|
||||
Vérifie le calcul de la nouvelle hauteur pour plusieurs scénarios valides.
|
||||
"""
|
||||
assert calculate_new_height(orig_width, orig_height, new_width) == expected_height
|
||||
|
||||
# ## Tests des cas d'erreur ##
|
||||
|
||||
@pytest.mark.parametrize("invalid_width", [0, -1, -100])
|
||||
def test_calculate_new_height_with_invalid_width_raises_error(invalid_width):
|
||||
"""
|
||||
Vérifie qu'une ValueError est levée si la largeur d'origine est nulle ou négative.
|
||||
"""
|
||||
# Le contexte `pytest.raises` vérifie qu'une exception est bien levée.
|
||||
# L'argument `match` vérifie que le message d'erreur contient le texte attendu.
|
||||
with pytest.raises(ValueError, match="La largeur d'origine doit être positive"):
|
||||
calculate_new_height(invalid_width, 1080, 500)
|
||||
Reference in New Issue
Block a user