16c62a97d5
- 新增时标、ΔT 模型、质心时间与 UT1 支持 - 改进日月食、月掩、行星事件及路径边界计算 - 完善恒星三维自行与动态距离传播 - 扩展 SVG、GeoJSON、KML 输出与底层距离换算工具 - 整理中英文手册、示例资源及回归测试
20 lines
679 B
Go
20 lines
679 B
Go
package formula
|
|
|
|
import (
|
|
"math"
|
|
"testing"
|
|
)
|
|
|
|
// formula 只做对外转发,换算基元在 tools,这里只锁别名与转发不脱钩。
|
|
func TestDistanceDelegatesToTools(t *testing.T) {
|
|
assertFormulaClose(t, "1 ly in pc", Distance(1, DistanceLightYear), 0.306601393786, 1e-12)
|
|
assertFormulaClose(t, "1 pc identity", Distance(2.5, DistanceParsec), 2.5, 1e-15)
|
|
assertFormulaClose(t, "aliases agree", float64(DistanceParsec), 0, 1e-15)
|
|
if got := Distance(0, DistanceParsec); !math.IsNaN(got) {
|
|
t.Fatalf("Distance(0) = %v, want NaN", got)
|
|
}
|
|
if got := Distance(1, DistanceUnit(200)); !math.IsNaN(got) {
|
|
t.Fatalf("Distance(1, unknown unit) = %v, want NaN", got)
|
|
}
|
|
}
|