38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
# Objectif : écrire des tests unitaires pour vérifier calcul_distance_cm().
|
|
# Aucune réponse n'est fournie. Les valeurs exactes doivent être déduites
|
|
# de la formule vue en cours.
|
|
|
|
from logique_hcsr04_eleve import calcul_distance_cm
|
|
|
|
|
|
def test():
|
|
|
|
# Test 1 : temps invalide = 0
|
|
dist = calcul_distance_cm(0)
|
|
assert dist is None , "Test temps 0 : incorrect"
|
|
|
|
# Test 2 : temps négatif
|
|
dist = calcul_distance_cm(-100)
|
|
assert dist is None , "Test temps négatif : incorrect"
|
|
|
|
# Test 3 : temps None
|
|
dist = calcul_distance_cm(None)
|
|
assert dist is None , "Test None : incorrect"
|
|
|
|
# Test 4 : temps court (quelques centaines de microsecondes)
|
|
# Compléter avec une plage de valeurs acceptables.
|
|
dist = calcul_distance_cm(1000)
|
|
assert dist > 17.15 , "Test 1000us : trop petit"
|
|
assert dist < 17.15 , "Test 1000us : trop grand"
|
|
|
|
# Test 5 : temps plus long
|
|
dist = calcul_distance_cm(3000)
|
|
assert dist > 51.45 , "Test 3000us : trop petit"
|
|
assert dist < 51.45 , "Test 3000us : trop grand"
|
|
|
|
print("Tests HC-SR04 réussis si vous voyez ce message.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test()
|