"""Tests für Game-Service.""" from src.services.game_service import GameService, Spiel class TestGameService: """Tests für GameService.""" def test_hinzufuegen_id_wird_vergeben(self) -> None: """Hinzufügen eines Spiels → ID wird vergeben.""" service = GameService() spiel = Spiel(name="Catan") resultat = service.hinzufuegen(spiel) assert resultat.id is not None assert resultat.name == "Catan" def test_alle_leere_liste_am_anfang(self) -> None: """Alle Spiele → leere Liste am Anfang.""" service = GameService() assert service.alle() == [] def test_alle_zwei_spielenach_hinzufuegen(self) -> None: """Alle Spiele nach Hinzufügen → 2 Spiele.""" service = GameService() s1 = Spiel(name="Catan") s2 = Spiel(name="Ticket to Ride") service.hinzufuegen(s1) service.hinzufuegen(s2) assert len(service.alle()) == 2 def test_suchen_nach_cat_finnt_catan(self) -> None: """Suchen nach 'cat' → findet Catan.""" service = GameService() service.hinzufuegen(Spiel(name="Catan")) ergebnis = service.suchen("cat") assert len(ergebnis) == 1 assert ergebnis[0].name == "Catan" def test_suchen_nach_xyz_ergebt_leere_liste(self) -> None: """Suchen nach 'xyz' → leere Liste.""" service = GameService() service.hinzufuegen(Spiel(name="Catan")) assert service.suchen("xyz") == [] def test_nach_id_aktives_spiel(self) -> None: """Nach ID holen → korrektes Spiel.""" service = GameService() s = Spiel(name="Carcassonne") service.hinzufuegen(s) resultat = service.nach_id(1) assert resultat is not None assert resultat.name == "Carcassonne" def test_nach_id_nicht_existent(self) -> None: """Nach ID holen → None bei nicht existenter ID.""" service = GameService() assert service.nach_id(999) is None