mirror of
https://github.com/MontFerret/ferret.git
synced 2024-12-16 11:37:36 +02:00
52 lines
1.2 KiB
Go
52 lines
1.2 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 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)
|
||
|
}
|
||
|
}
|