47 lines
936 B
Go
47 lines
936 B
Go
package moonphase
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
type tvec struct {
|
|
Year int
|
|
Mon time.Month
|
|
Day, Hr, Min, Sec, Nsec int
|
|
Loc *time.Location
|
|
expected string
|
|
}
|
|
|
|
var (
|
|
tvec1 = []tvec{
|
|
{2007, 10, 1, 24, 0, 0, 0, time.UTC, "Third Quarter"},
|
|
{2007, 10, 5, 24, 0, 0, 0, time.UTC, "Waning Crescent"},
|
|
}
|
|
)
|
|
|
|
func Test1PhaseNames(t *testing.T) {
|
|
for idx, v := range tvec1 {
|
|
m := New(time.Date(v.Year, v.Mon, v.Day,
|
|
v.Hr, v.Min, v.Sec, v.Nsec,
|
|
v.Loc))
|
|
out := m.PhaseName()
|
|
if out != v.expected {
|
|
t.Errorf("FAILED tvec %d '%s': '%s'\n", idx, v.expected, out)
|
|
}
|
|
}
|
|
}
|
|
|
|
func ExamplePhaseName() {
|
|
m := New(time.Date(2007, 10, 1, 24, 0, 0, 0, time.UTC))
|
|
fmt.Println(m.PhaseName())
|
|
//Output: Third Quarter
|
|
}
|
|
|
|
func ExamplePhaseSymbol() {
|
|
m := New(time.Date(2007, 10, 1, 24, 0, 0, 0, time.UTC))
|
|
fmt.Println(m.PhaseSymbol())
|
|
//Output: 🌗
|
|
}
|