All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
package nws
|
|
|
|
import "testing"
|
|
|
|
func TestBuildObservationTextDescriptionAndPressurePrecedence(t *testing.T) {
|
|
barometric := 100200.0
|
|
seaLevel := 101400.0
|
|
|
|
parsed := nwsObservationResponse{}
|
|
parsed.Properties.Timestamp = "2026-03-16T19:00:00Z"
|
|
parsed.Properties.TextDescription = " Overcast "
|
|
parsed.Properties.BarometricPressure.Value = &barometric
|
|
parsed.Properties.SeaLevelPressure.Value = &seaLevel
|
|
|
|
obs, _, err := buildObservation(parsed)
|
|
if err != nil {
|
|
t.Fatalf("buildObservation() error = %v", err)
|
|
}
|
|
|
|
if got, want := obs.TextDescription, "Overcast"; got != want {
|
|
t.Fatalf("TextDescription = %q, want %q", got, want)
|
|
}
|
|
|
|
if obs.BarometricPressurePa == nil {
|
|
t.Fatalf("BarometricPressurePa = nil, want non-nil")
|
|
}
|
|
if got, want := *obs.BarometricPressurePa, seaLevel; got != want {
|
|
t.Fatalf("BarometricPressurePa = %v, want %v", got, want)
|
|
}
|
|
}
|
|
|
|
func TestBuildObservationPressureFallbackToBarometric(t *testing.T) {
|
|
barometric := 99900.0
|
|
|
|
parsed := nwsObservationResponse{}
|
|
parsed.Properties.Timestamp = "2026-03-16T19:00:00Z"
|
|
parsed.Properties.TextDescription = "Cloudy"
|
|
parsed.Properties.BarometricPressure.Value = &barometric
|
|
|
|
obs, _, err := buildObservation(parsed)
|
|
if err != nil {
|
|
t.Fatalf("buildObservation() error = %v", err)
|
|
}
|
|
|
|
if obs.BarometricPressurePa == nil {
|
|
t.Fatalf("BarometricPressurePa = nil, want non-nil")
|
|
}
|
|
if got, want := *obs.BarometricPressurePa, barometric; got != want {
|
|
t.Fatalf("BarometricPressurePa = %v, want %v", got, want)
|
|
}
|
|
}
|