Files
astro/context_internal_test.go
T

31 lines
839 B
Go
Raw Normal View History

package astro
import (
"testing"
"b612.me/astro/internal/ephem"
)
func TestContextDefaultRefreshAndExistingModelSetter(t *testing.T) {
previousModel := GetModel()
previousInstance := ephem.Global()
t.Cleanup(func() {
SetModel(previousModel)
ephem.SetGlobal(previousInstance)
})
SetModel(ModelLegacy)
first, err := NewContext(ModelLegacy)
if err != nil {
t.Fatal(err)
}
ephem.SetGlobal(ephem.NewInstance(nil))
SetModel(ModelLegacy)
if ephem.Global().Model() != ephem.Legacy || GetModel() != ModelLegacy {
t.Fatal("repeated SetModel retained an incompatible global instance")
}
ephem.SetActive(ephem.Semianalytic)
if GetModel() != ModelSemianalytic || ephem.Global().Model() != ephem.Semianalytic || first.Model() != ModelLegacy {
t.Fatal("existing model setter broke global refresh or explicit isolation")
}
}