// // SportTests.swift // SportsTimeTests // import Foundation import Testing @testable import SportsTime @Suite("Sport AnySport Conformance") struct SportAnySportTests { @Test("Sport conforms to AnySport protocol") func sportConformsToAnySport() { let sport: any AnySport = Sport.mlb #expect(sport.sportId == "MLB") #expect(sport.displayName == "Major League Baseball") #expect(sport.iconName == "baseball.fill") } @Test("Sport.id equals Sport.sportId") func sportIdEqualsSportId() { for sport in Sport.allCases { #expect(sport.id == sport.sportId) } } @Test("Sport isInSeason works correctly") func sportIsInSeason() { let mlb = Sport.mlb // April is in MLB season (March-October) let april = Calendar.current.date(from: DateComponents(year: 2026, month: 4, day: 15))! #expect(mlb.isInSeason(for: april)) // January is not in MLB season let january = Calendar.current.date(from: DateComponents(year: 2026, month: 1, day: 15))! #expect(!mlb.isInSeason(for: january)) } @Test("Sport with wrap-around season works correctly") func sportWrapAroundSeason() { let nba = Sport.nba // December is in NBA season (October-June wraps) let december = Calendar.current.date(from: DateComponents(year: 2026, month: 12, day: 15))! #expect(nba.isInSeason(for: december)) // July is not in NBA season let july = Calendar.current.date(from: DateComponents(year: 2026, month: 7, day: 15))! #expect(!nba.isInSeason(for: july)) } }