1
0
mirror of https://github.com/MontFerret/ferret.git synced 2024-12-29 01:44:23 +02:00
ferret/pkg/stdlib/datetime/dayofyear_test.go

58 lines
1.3 KiB
Go

package datetime_test
import (
"testing"
"time"
"github.com/MontFerret/ferret/pkg/runtime/core"
"github.com/MontFerret/ferret/pkg/runtime/values"
"github.com/MontFerret/ferret/pkg/stdlib/datetime"
)
func TestDateDayOfYear(t *testing.T) {
tcs := []*testCase{
&testCase{
Name: "When more than 1 arguments",
Expected: values.None,
Args: []core.Value{
values.NewString("string"),
values.NewInt(0),
},
ShouldErr: true,
},
&testCase{
Name: "When 0 arguments",
Expected: values.None,
Args: []core.Value{},
ShouldErr: true,
},
&testCase{
Name: "When argument isn't DateTime",
Expected: values.None,
Args: []core.Value{values.NewInt(0)},
ShouldErr: true,
},
&testCase{
Name: "When 38th day of the year",
Expected: values.NewInt(38),
Args: []core.Value{mustDefaultLayoutDt("1999-02-07T15:04:05Z")},
},
&testCase{
Name: "When 59th day of the year",
Expected: values.NewInt(59),
Args: []core.Value{mustDefaultLayoutDt("1629-02-28T15:59:05Z")},
},
&testCase{
Name: "When 366th day of the year",
Expected: values.NewInt(366),
Args: []core.Value{
values.NewDateTime(time.Date(1972, time.December, 31, 0, 0, 0, 0, time.Local)),
},
},
}
for _, tc := range tcs {
tc.Do(t, datetime.DateDayOfYear)
}
}