- fix: Rename GetSunDownTime to GetSunSetTime in basic/sun.go and update related calls/outputs - fix: Update test cases to use new method and error constant names - improve: Rename all DownTime/Down functions to SetTime/Set for consistency - improve: Standardize ERR_XXX_NEVER_DOWN error constants to ERR_XXX_NEVER_SET, with ERR_XXX_NEVER_DOWN kept as compatibility alias - improve: More standard naming for interfaces and errors to improve maintainability and readability
		
			
				
	
	
		
			35 lines
		
	
	
		
			715 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			715 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package sun
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"math"
 | 
						|
	"testing"
 | 
						|
	"time"
 | 
						|
)
 | 
						|
 | 
						|
func TestSun(t *testing.T) {
 | 
						|
	ja, err := time.LoadLocation("Asia/Tokyo")
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	now, err := time.ParseInLocation("2006-01-02 15:04:05", "2020-01-01 00:00:00", ja)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	d, err := RiseTime(now, 115, 40, 0, true)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	if d.Format("2006-01-02 15:04:05") != "2020-01-01 08:41:45" {
 | 
						|
		t.Fatal(d.Format("2006-01-02 15:04:05"))
 | 
						|
	}
 | 
						|
	bo := TrueBo(now)
 | 
						|
	if math.Abs(bo) > 2 {
 | 
						|
		t.Fatal(bo)
 | 
						|
	}
 | 
						|
	fmt.Println(CulminationTime(now, 115))
 | 
						|
	fmt.Println(SetTime(now, 115, 40, 0, true))
 | 
						|
	fmt.Println(MorningTwilight(now, 115, 40, -6))
 | 
						|
	fmt.Println(EveningTwilight(now, 115, 40, -6))
 | 
						|
}
 |