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: 🌗 }