package common import ( "github.com/gogf/gf/os/gtime" "reflect" "testing" ) func TestGetCNEndOfWeek(t *testing.T) { type args struct { time *gtime.Time } tests := []struct { name string args args want *gtime.Time }{ {"日期测试", args{time: gtime.Now()}, gtime.NewFromStr("2020-09-19 23:59:59")}, {"时间测试", args{time: gtime.Now()}, gtime.NewFromStr("2020-09-19 23:59:59")}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := GetCNEndOfWeek(tt.args.time) if !reflect.DeepEqual(got.Day(), tt.want.Day()) { t.Errorf("GetCNEndOfWeek() = %v, want %v", got, tt.want) } if !reflect.DeepEqual(got.Hour(), tt.want.Hour()) { t.Errorf("GetCNEndOfWeek() = %v, want %v", got, tt.want) } }) } } func TestGetNextTimeNode(t *testing.T) { type args struct { signOutTime *gtime.Time } t1 := gtime.NewFromStr("2021-09-16 11:44:56") w1 := gtime.NewFromStr("2021-09-16 12:00:00") t2 := gtime.NewFromStr("2021-09-16 00:00:00") w2 := gtime.NewFromStr("2021-09-16 00:00:00") t3 := gtime.NewFromStr("2021-09-16 23:42:00") w3 := gtime.NewFromStr("2021-09-17 00:00:00") tests := []struct { name string args args want *gtime.Time }{ {"普通时间测试", args{t1}, w1}, {"零点时间测试", args{t2}, w2}, {"24点时间测试", args{t3}, w3}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := GetNextTimeNode(tt.args.signOutTime); !reflect.DeepEqual(got, tt.want) { t.Errorf("GetNextTimeNode() = %v, want %v", got, tt.want) } }) } }