scoring_rules-test.rkt 846 B

1234567891011121314151617181920212223
  1. #lang racket/base
  2. ; scoring_rules-test.rkt
  3. ; Unit tests for Scoring Rules
  4. (require rackunit
  5. "../code/scoring_rules.rkt")
  6. ; Brier Score Checks
  7. ; perfect prediction for event occurring
  8. (check-equal? (brier-score 1 1) 0 "Perfect prediction, event occurs")
  9. ; wrong prediction, event occurs
  10. (check-equal? (brier-score 0 1) 1 "Predicted impossible, event occurs")
  11. ; wrong prediction, event doesn't occur
  12. (check-equal? (brier-score 1 0) 1 "Predicted to happen, event doesn't happen")
  13. ; 50/50 scores
  14. (check-equal? (brier-score 0.5 1) 0.25 "50/50 prediction, event occurs")
  15. (check-equal? (brier-score 0.5 0) 0.25 "50/50 prediction, event doesn't occur")
  16. ; Logarithmic Score checks
  17. (check-within (log-score 0.8 1) (log 0.8) 1e-8 "80% forecast, event occurs")
  18. (check-within (log-score 0.8 0) (log 0.2) 1e-8 "80% forecast, event doesn't occur")