44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package changes
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/briefing"
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/forecast"
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/report"
|
|
)
|
|
|
|
func TestCompareWeekendDetectsOutlookChanges(t *testing.T) {
|
|
previousTemp := 70.0
|
|
currentTemp := 78.0
|
|
previous := briefing.Package{
|
|
Metadata: briefing.Metadata{ReportID: report.Weekend},
|
|
Weekend: &briefing.Weekend{Days: []briefing.OutlookDay{{
|
|
Date: "2026-05-30",
|
|
Temperature: forecast.Range{Max: &previousTemp},
|
|
}}},
|
|
}
|
|
current := briefing.Package{
|
|
Metadata: briefing.Metadata{ReportID: report.Weekend},
|
|
Weekend: &briefing.Weekend{Days: []briefing.OutlookDay{{
|
|
Date: "2026-05-30",
|
|
Temperature: forecast.Range{Max: ¤tTemp},
|
|
Dayparts: []forecast.DaypartSummary{{Indicators: forecast.Indicators{Thunder: true}}},
|
|
}}},
|
|
}
|
|
|
|
changes, err := CompareWeekend(previous, current, Thresholds{TemperatureDegrees: 5})
|
|
if err != nil {
|
|
t.Fatalf("CompareWeekend() error = %v", err)
|
|
}
|
|
if len(changes) == 0 {
|
|
t.Fatal("changes length = 0, want weekend changes")
|
|
}
|
|
for _, change := range changes {
|
|
if change.Type == "weekend_outlook_thunder_risk_change" {
|
|
return
|
|
}
|
|
}
|
|
t.Fatalf("changes = %#v, want thunder risk change", changes)
|
|
}
|