Files
astro/sun/atmosphere_test.go
T

27 lines
848 B
Go
Raw Normal View History

package sun
import (
"testing"
"time"
)
func TestRiseSetWithAtmosphere(t *testing.T) {
date := time.Date(2025, 1, 1, 0, 0, 0, 0, time.FixedZone("CST", 8*3600))
base, err := RiseTime(date, 116.4, 39.9, 0, true)
if err != nil {
t.Fatal(err)
}
same, err := RiseTimeWithAtmosphere(date, 116.4, 39.9, 0, 1010, 10)
if diff := same.Sub(base); err != nil || diff > 10*time.Millisecond || diff < -10*time.Millisecond {
t.Fatalf("standard weather %v vs %v (%v)", same, base, err)
}
cold, err := RiseTimeWithAtmosphere(date, 116.4, 39.9, 0, 1040, -30)
if err != nil || !cold.Before(base) {
t.Fatalf("cold dense air should advance sunrise: %v vs %v (%v)", cold, base, err)
}
set, err := SetTimeWithAtmosphere(date, 116.4, 39.9, 0, 1040, -30)
if err != nil || set.Location() != date.Location() {
t.Fatalf("sunset: %v %v", set, err)
}
}