45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
"""Tests für Spiel-Bewertungs-Utility."""
|
|
|
|
import pytest
|
|
|
|
from game_rating import berechne_durchschnitt, validate_rating
|
|
|
|
|
|
class TestValidateRating:
|
|
"""Tests für die validate_rating-Funktion."""
|
|
|
|
def test_gueltige_bewertung_eins(self):
|
|
"""Bewertung 1 ist gültig."""
|
|
assert validate_rating(1) is True
|
|
|
|
def test_gueltige_bewertung_zehn(self):
|
|
"""Bewertung 10 ist gültig."""
|
|
assert validate_rating(10) is True
|
|
|
|
def test_bewertung_null_wirft_valueerror(self):
|
|
"""Bewertung 0 wirft ValueError."""
|
|
with pytest.raises(ValueError):
|
|
validate_rating(0)
|
|
|
|
def test_bewertung_elf_wirft_valueerror(self):
|
|
"""Bewertung 11 wirft ValueError."""
|
|
with pytest.raises(ValueError):
|
|
validate_rating(11)
|
|
|
|
|
|
class TestBerechneDurchschnitt:
|
|
"""Tests für die berechne_durchschnitt-Funktion."""
|
|
|
|
def test_durchschnitt_bewertungen(self):
|
|
"""Durchschnitt von [6, 8, 10] ist 8.0."""
|
|
assert berechne_durchschnitt([6, 8, 10]) == 8.0
|
|
|
|
def test_leere_liste_gibt_none(self):
|
|
"""Leere Liste gibt None zurück."""
|
|
assert berechne_durchschnitt([]) is None
|
|
|
|
def test_ungueltige_bewertung_in_liste_wirft_valueerror(self):
|
|
"""Ungültige Bewertung in Liste wirft ValueError."""
|
|
with pytest.raises(ValueError):
|
|
berechne_durchschnitt([5, 0, 10])
|