package spc import "testing" func TestGeoJSONProductsStableOrder(t *testing.T) { got := GeoJSONProducts() if len(got) != 9 { t.Fatalf("GeoJSONProducts() length = %d, want 9", len(got)) } wantKeys := []string{ "day1_categorical", "day1_tornado", "day1_hail", "day1_wind", "day2_categorical", "day2_tornado", "day2_hail", "day2_wind", "day3_categorical", } for i, want := range wantKeys { if got[i].Key != want { t.Fatalf("GeoJSONProducts()[%d].Key = %q, want %q", i, got[i].Key, want) } if err := validateProductDay(got[i].Day); err != nil { t.Fatalf("GeoJSONProducts()[%d].Day invalid: %v", i, err) } if got[i].URL == "" { t.Fatalf("GeoJSONProducts()[%d].URL is empty", i) } } } func TestDiscussionProductsStableOrder(t *testing.T) { got := DiscussionProducts() if len(got) != 3 { t.Fatalf("DiscussionProducts() length = %d, want 3", len(got)) } wantKeys := []string{"day1", "day2", "day3"} for i, want := range wantKeys { if got[i].Key != want { t.Fatalf("DiscussionProducts()[%d].Key = %q, want %q", i, got[i].Key, want) } if got[i].Day != i+1 { t.Fatalf("DiscussionProducts()[%d].Day = %d, want %d", i, got[i].Day, i+1) } if got[i].URL == "" { t.Fatalf("DiscussionProducts()[%d].URL is empty", i) } } }