This commit is contained in:
Trey t
2026-01-19 23:53:37 -06:00
parent 19dd1791f1
commit 11adfc10dd
8 changed files with 126 additions and 42 deletions

View File

@@ -55,7 +55,7 @@ class TestGenerateGameId:
home_abbrev="lal",
game_date=date(2025, 12, 25),
)
assert game_id == "nba_2025_bos_lal_1225"
assert game_id == "game_nba_2025_20251225_bos_lal"
def test_game_id_with_datetime(self):
"""Test game ID generation with datetime object."""
@@ -66,7 +66,7 @@ class TestGenerateGameId:
home_abbrev="bos",
game_date=datetime(2026, 4, 1, 19, 0),
)
assert game_id == "mlb_2026_nyy_bos_0401"
assert game_id == "game_mlb_2026_20260401_nyy_bos"
def test_game_id_with_game_number(self):
"""Test game ID for doubleheader."""
@@ -86,8 +86,8 @@ class TestGenerateGameId:
game_date=date(2026, 7, 4),
game_number=2,
)
assert game_id_1 == "mlb_2026_nyy_bos_0704_1"
assert game_id_2 == "mlb_2026_nyy_bos_0704_2"
assert game_id_1 == "game_mlb_2026_20260704_nyy_bos_1"
assert game_id_2 == "game_mlb_2026_20260704_nyy_bos_2"
def test_sport_lowercased(self):
"""Test that sport is lowercased."""
@@ -98,7 +98,7 @@ class TestGenerateGameId:
home_abbrev="LAL",
game_date=date(2025, 12, 25),
)
assert game_id == "nba_2025_bos_lal_1225"
assert game_id == "game_nba_2025_20251225_bos_lal"
class TestParseGameId:
@@ -106,22 +106,24 @@ class TestParseGameId:
def test_parse_basic_game_id(self):
"""Test parsing a basic game ID."""
parsed = parse_game_id("nba_2025_bos_lal_1225")
parsed = parse_game_id("game_nba_2025_20251225_bos_lal")
assert parsed["sport"] == "nba"
assert parsed["season"] == 2025
assert parsed["away_abbrev"] == "bos"
assert parsed["home_abbrev"] == "lal"
assert parsed["year"] == 2025
assert parsed["month"] == 12
assert parsed["day"] == 25
assert parsed["game_number"] is None
def test_parse_game_id_with_game_number(self):
"""Test parsing game ID with game number."""
parsed = parse_game_id("mlb_2026_nyy_bos_0704_2")
parsed = parse_game_id("game_mlb_2026_20260704_nyy_bos_2")
assert parsed["sport"] == "mlb"
assert parsed["season"] == 2026
assert parsed["away_abbrev"] == "nyy"
assert parsed["home_abbrev"] == "bos"
assert parsed["year"] == 2026
assert parsed["month"] == 7
assert parsed["day"] == 4
assert parsed["game_number"] == 2
@@ -131,9 +133,11 @@ class TestParseGameId:
with pytest.raises(ValueError):
parse_game_id("invalid")
with pytest.raises(ValueError):
parse_game_id("nba_2025_bos")
parse_game_id("nba_2025_bos") # Missing game_ prefix
with pytest.raises(ValueError):
parse_game_id("")
with pytest.raises(ValueError):
parse_game_id("game_nba_2025_bos_lal") # Missing date
class TestGenerateTeamId: