| from __future__ import annotations | |
| from la_liga_score_predictor import LaLigaScorePredictor | |
| def main() -> None: | |
| predictor = LaLigaScorePredictor.from_defaults(dataset_csv_path="sample_history.csv") | |
| result = predictor.predict_match_simple( | |
| home_team="Athletic", | |
| away_team="Osasuna", | |
| match_date="2026-04-21", | |
| ) | |
| required_keys = { | |
| "model_version", | |
| "predicted_score", | |
| "predicted_home_goals", | |
| "predicted_away_goals", | |
| "result_probabilities", | |
| "confidence_level", | |
| "confidence_score", | |
| "confidence_margin", | |
| "abstain_recommended", | |
| "request", | |
| } | |
| missing = sorted(required_keys.difference(result)) | |
| if missing: | |
| raise SystemExit(f"Smoke test failed: missing keys {missing}") | |
| probabilities = result["result_probabilities"] | |
| total = round( | |
| float(probabilities["home_win"]) + float(probabilities["draw"]) + float(probabilities["away_win"]), | |
| 6, | |
| ) | |
| if abs(total - 1.0) > 0.00001: | |
| raise SystemExit(f"Smoke test failed: probabilities sum to {total}, expected 1.0") | |
| print("Smoke test passed.") | |
| print(result) | |
| if __name__ == "__main__": | |
| main() | |