| package datetime |
|
|
| import ( |
| "testing" |
| "time" |
|
|
| "github.com/rickb777/period" |
| "github.com/stretchr/testify/assert" |
| ) |
|
|
| |
| func MustLoadLocation(t *testing.T, name string) *time.Location { |
| t.Helper() |
| loc, err := time.LoadLocation(name) |
| if err != nil { |
| t.Fatalf("failed to load timezone location %q: %v", name, err) |
| } |
| return loc |
| } |
|
|
| |
| func MustParseDateTime(t *testing.T, timeStr string) DateTime { |
| t.Helper() |
| dt, err := Parse(timeStr) |
| assert.NoError(t, err, "failed to parse time string %q", timeStr) |
| return dt |
| } |
|
|
| |
| func MustParseTimeInLocation(t *testing.T, timeStr string, loc *time.Location) DateTime { |
| t.Helper() |
| parsedTime, err := time.Parse(time.RFC3339, timeStr) |
| assert.NoError(t, err, "failed to parse time string %q", timeStr) |
| return DateTime{Time: parsedTime.In(loc)} |
| } |
|
|
| |
| func MustParseDuration(t *testing.T, s string) ISODuration { |
| res, err := period.Parse(s) |
| if err != nil { |
| t.Fatalf("failed to parse period: %v", err) |
| } |
|
|
| return ISODuration{res} |
| } |
|
|