1 Star 0 Fork 63

awfullot/carbon

forked from dromara/carbon 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
setter_unit_test.go 21.58 KB
一键复制 编辑 原始数据 按行查看 历史
gouguoyin 提交于 2024-04-09 20:12 . 统一单元测试格式
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062
package carbon
import (
"github.com/stretchr/testify/assert"
"testing"
"time"
)
func TestCarbon_SetWeekStartsAt(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetWeekStartsAt(Sunday),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetWeekStartsAt(Sunday),
want: "",
},
{
name: "case3",
carbon: Parse("2021-06-13").SetWeekStartsAt(Sunday),
want: "2021-06-13",
},
{
name: "case4",
carbon: Parse("2021-06-13").SetWeekStartsAt(Monday),
want: "2021-06-07",
},
{
name: "case5",
carbon: Parse("2021-06-13").SetWeekStartsAt(Tuesday),
want: "2021-06-08",
},
{
name: "case6",
carbon: Parse("2021-06-13").SetWeekStartsAt(Wednesday),
want: "2021-06-09",
},
{
name: "case7",
carbon: Parse("2021-06-13").SetWeekStartsAt(Thursday),
want: "2021-06-10",
},
{
name: "case8",
carbon: Parse("2021-06-13").SetWeekStartsAt(Friday),
want: "2021-06-11",
},
{
name: "case9",
carbon: Parse("2021-06-13").SetWeekStartsAt(Saturday),
want: "2021-06-12",
},
{
name: "case10",
carbon: SetWeekStartsAt(Saturday).Parse("2021-06-13"),
want: "2021-06-12",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.StartOfWeek().ToDateString(), "SetWeekStartsAt()")
})
}
}
func TestCarbon_SetTimezone(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetTimezone(PRC),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetTimezone(PRC),
want: "",
},
{
name: "case3",
carbon: SetTimezone(PRC).Parse("2020-08-05 13:14:15"),
want: "2020-08-05 13:14:15",
},
{
name: "case4",
carbon: SetTimezone(Tokyo).Parse("2020-08-05 13:14:15"),
want: "2020-08-05 12:14:15",
},
{
name: "case5",
carbon: SetTimezone(London).Parse("2020-08-05 13:14:15"),
want: "2020-08-05 20:14:15",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToDateTimeString(PRC), "SetTimezone()")
})
}
}
func TestCarbon_SetLocation(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetLocation(time.UTC),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetLocation(time.UTC),
want: "",
},
{
name: "case3",
carbon: Parse("2020-08-05 13:14:15").SetLocation(nil),
want: "",
},
{
name: "case4",
carbon: Parse("2020-08-05 13:14:15").SetLocation(time.UTC),
want: "UTC",
},
{
name: "case5",
carbon: Parse("2020-08-05 13:14:15").SetLocation(time.UTC),
want: "UTC",
},
{
name: "case6",
carbon: SetLocation(time.UTC).Parse("2020-08-05 13:14:15"),
want: "UTC",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.Location(), "SetLocation()")
})
}
}
func TestCarbon_SetLocale(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetLocale("en"),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetLocale("en"),
want: "",
},
{
name: "case3",
carbon: Parse("2020-08-05 13:14:15").SetLocale("en"),
want: "August",
},
{
name: "case4",
carbon: Parse("2020-08-05 13:14:15").SetLocale("zh-CN"),
want: "八月",
},
{
name: "case5",
carbon: Parse("2020-08-05 13:14:15").SetLocale("jp"),
want: "はちがつ",
},
{
name: "case6",
carbon: SetLocale("en").Parse("2020-08-05 13:14:15"),
want: "August",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToMonthString(PRC), "SetLocale()")
})
}
}
func TestCarbon_SetDateTime(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateTime(2019, 02, 02, 13, 14, 15),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateTime(2019, 02, 02, 13, 14, 15),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateTime(2019, 02, 02, 13, 14, 15),
want: "2019-02-02 13:14:15",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateTime(2019, 02, 31, 13, 14, 15),
want: "2019-03-03 13:14:15",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToDateTimeString(PRC), "SetDateTime()")
})
}
}
func TestCarbon_SetDateTimeMilli(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateTimeMilli(2019, 02, 02, 13, 14, 15, 999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateTimeMilli(2019, 02, 02, 13, 14, 15, 999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateTimeMilli(2019, 02, 02, 13, 14, 15, 999),
want: "2019-02-02 13:14:15.999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateTimeMilli(2019, 02, 31, 13, 14, 15, 999),
want: "2019-03-03 13:14:15.999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDateTimeMilli()")
})
}
}
func TestCarbon_SetDateTimeMicro(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateTimeMicro(2019, 02, 02, 13, 14, 15, 999999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateTimeMicro(2019, 02, 02, 13, 14, 15, 999999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateTimeMicro(2019, 02, 02, 13, 14, 15, 999999),
want: "2019-02-02 13:14:15.999999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateTimeMicro(2019, 02, 31, 13, 14, 15, 999999),
want: "2019-03-03 13:14:15.999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDateTimeMicro()")
})
}
}
func TestCarbon_SetDateTimeNano(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateTimeNano(2019, 02, 02, 13, 14, 15, 999999999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateTimeNano(2019, 02, 02, 13, 14, 15, 999999999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateTimeNano(2019, 02, 02, 13, 14, 15, 999999999),
want: "2019-02-02 13:14:15.999999999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateTimeNano(2019, 02, 31, 13, 14, 15, 999999999),
want: "2019-03-03 13:14:15.999999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDateTimeNano()")
})
}
}
func TestCarbon_SetDate(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDate(2019, 02, 02),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDate(2019, 02, 02),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDate(2019, 02, 02),
want: "2019-02-02 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDate(2019, 02, 31),
want: "2019-03-03 00:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDate()")
})
}
}
func TestCarbon_SetDateMilli(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateMilli(2019, 02, 02, 999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateMilli(2019, 02, 02, 999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateMilli(2019, 02, 02, 999),
want: "2019-02-02 00:00:00.999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateMilli(2019, 02, 31, 999),
want: "2019-03-03 00:00:00.999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDateMilli()")
})
}
}
func TestCarbon_SetDateMicro(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateMicro(2019, 02, 02, 999999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateMicro(2019, 02, 02, 999999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateMicro(2019, 02, 02, 999999),
want: "2019-02-02 00:00:00.999999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateMicro(2019, 02, 31, 999999),
want: "2019-03-03 00:00:00.999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDateMicro()")
})
}
}
func TestCarbon_SetDateNano(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDateNano(2019, 02, 02, 999999999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDateNano(2019, 02, 02, 999999999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDateNano(2019, 02, 02, 999999999),
want: "2019-02-02 00:00:00.999999999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetDateNano(2019, 02, 31, 999999999),
want: "2019-03-03 00:00:00.999999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDateNano()")
})
}
}
func TestCarbon_SetTime(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetTime(13, 14, 15),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetTime(13, 14, 15),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetTime(13, 14, 15),
want: "2020-01-01 13:14:15 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetTime(13, 14, 90),
want: "2020-01-01 13:15:30 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetTime()")
})
}
}
func TestCarbon_SetTimeMilli(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetTimeMilli(13, 14, 15, 999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetTimeMilli(13, 14, 15, 999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetTimeMilli(13, 14, 15, 999),
want: "2020-01-01 13:14:15.999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetTimeMilli(13, 14, 90, 999),
want: "2020-01-01 13:15:30.999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetTimeMilli()")
})
}
}
func TestCarbon_SetTimeMicro(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetTimeMicro(13, 14, 15, 999999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetTimeMicro(13, 14, 15, 999999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetTimeMicro(13, 14, 15, 999999),
want: "2020-01-01 13:14:15.999999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetTimeMicro(13, 14, 90, 999999),
want: "2020-01-01 13:15:30.999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetTimeMicro()")
})
}
}
func TestCarbon_SetTimeNano(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetTimeNano(13, 14, 15, 999999999),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetTimeNano(13, 14, 15, 999999999),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetTimeNano(13, 14, 15, 999999999),
want: "2020-01-01 13:14:15.999999999 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-01").SetTimeNano(13, 14, 90, 999999999),
want: "2020-01-01 13:15:30.999999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetTimeNano()")
})
}
}
func TestCarbon_SetYear(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetYear(2019),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetYear(2019),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetYear(2019),
want: "2019-01-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-31").SetYear(2019),
want: "2019-01-31 00:00:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-29").SetYear(2019),
want: "2019-03-01 00:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetYear()")
})
}
}
func TestCarbon_SetYearNoOverflow(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetYearNoOverflow(2019),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetYearNoOverflow(2019),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetYearNoOverflow(2019),
want: "2019-01-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-31").SetYearNoOverflow(2019),
want: "2019-01-31 00:00:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-29").SetYearNoOverflow(2019),
want: "2019-02-28 00:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetYearNoOverflow()")
})
}
}
func TestCarbon_SetMonth(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetMonth(2),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetMonth(2),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetMonth(2),
want: "2020-02-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-30").SetMonth(2),
want: "2020-03-01 00:00:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-01-31").SetMonth(2),
want: "2020-03-02 00:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetMonth()")
})
}
}
func TestCarbon_SetMonthNoOverflow(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetMonthNoOverflow(2),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetMonthNoOverflow(2),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetMonthNoOverflow(2),
want: "2020-02-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-01-30").SetMonthNoOverflow(2),
want: "2020-02-29 00:00:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-01-31").SetMonthNoOverflow(2),
want: "2020-02-29 00:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetMonthNoOverflow()")
})
}
}
func TestCarbon_SetDay(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetDay(31),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetDay(31),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetDay(31),
want: "2020-01-31 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetDay(31),
want: "2020-03-02 00:00:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetDay(31),
want: "2020-03-02 00:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetDay()")
})
}
}
func TestCarbon_SetHour(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetHour(10),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetHour(10),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetHour(10),
want: "2020-01-01 10:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetHour(24),
want: "2020-02-02 00:00:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetHour(31),
want: "2020-02-29 07:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetHour()")
})
}
}
func TestCarbon_SetMinute(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetMinute(10),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetMinute(10),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetMinute(10),
want: "2020-01-01 00:10:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetMinute(24),
want: "2020-02-01 00:24:00 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetMinute(60),
want: "2020-02-28 01:00:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetMinute()")
})
}
}
func TestCarbon_SetSecond(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetSecond(10),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetSecond(10),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetSecond(10),
want: "2020-01-01 00:00:10 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetSecond(24),
want: "2020-02-01 00:00:24 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetSecond(60),
want: "2020-02-28 00:01:00 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetSecond()")
})
}
}
func TestCarbon_SetMillisecond(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetMillisecond(0),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetMillisecond(0),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetMillisecond(0),
want: "2020-01-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetMillisecond(100),
want: "2020-02-01 00:00:00.1 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetMillisecond(999),
want: "2020-02-28 00:00:00.999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetMillisecond()")
})
}
}
func TestCarbon_SetMicrosecond(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetMicrosecond(0),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetMicrosecond(0),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetMicrosecond(0),
want: "2020-01-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetMicrosecond(100000),
want: "2020-02-01 00:00:00.1 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetMicrosecond(999999),
want: "2020-02-28 00:00:00.999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetMicrosecond()")
})
}
}
func TestCarbon_SetNanosecond(t *testing.T) {
tests := []struct {
name string
carbon Carbon
want string
}{
{
name: "case1",
carbon: Parse("").SetNanosecond(0),
want: "",
},
{
name: "case2",
carbon: Parse("xxx").SetNanosecond(0),
want: "",
},
{
name: "case3",
carbon: Parse("2020-01-01").SetNanosecond(0),
want: "2020-01-01 00:00:00 +0800 CST",
},
{
name: "case4",
carbon: Parse("2020-02-01").SetNanosecond(100000),
want: "2020-02-01 00:00:00.0001 +0800 CST",
},
{
name: "case5",
carbon: Parse("2020-02-28").SetNanosecond(999999),
want: "2020-02-28 00:00:00.000999999 +0800 CST",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, tt.carbon.ToString(PRC), "SetNanosecond()")
})
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/Jooeys/carbon.git
git@gitee.com:Jooeys/carbon.git
Jooeys
carbon
carbon
master

搜索帮助