planner/item/date_test.go

311 lines
6.5 KiB
Go
Raw Normal View History

2024-12-22 08:37:12 +01:00
package item_test
// func TestWeekdaysSort(t *testing.T) {
// for _, tc := range []struct {
// name string
// input task.Weekdays
// exp task.Weekdays
// }{
// {
// name: "empty",
// },
// {
// name: "one",
// input: task.Weekdays{time.Tuesday},
// exp: task.Weekdays{time.Tuesday},
// },
// {
// name: "multiple",
// input: task.Weekdays{time.Wednesday, time.Tuesday, time.Monday},
// exp: task.Weekdays{time.Monday, time.Tuesday, time.Wednesday},
// },
// {
// name: "sunday is last",
// input: task.Weekdays{time.Saturday, time.Sunday, time.Monday},
// exp: task.Weekdays{time.Monday, time.Saturday, time.Sunday},
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// sort.Sort(tc.input)
// test.Equals(t, tc.exp, tc.input)
// })
// }
// }
// func TestWeekdaysUnique(t *testing.T) {
// for _, tc := range []struct {
// name string
// input task.Weekdays
// exp task.Weekdays
// }{
// {
// name: "empty",
// input: task.Weekdays{},
// exp: task.Weekdays{},
// },
// {
// name: "single",
// input: task.Weekdays{time.Monday},
// exp: task.Weekdays{time.Monday},
// },
// {
// name: "no doubles",
// input: task.Weekdays{time.Monday, time.Tuesday, time.Wednesday},
// exp: task.Weekdays{time.Monday, time.Tuesday, time.Wednesday},
// },
// {
// name: "doubles",
// input: task.Weekdays{time.Monday, time.Monday, time.Wednesday, time.Monday},
// exp: task.Weekdays{time.Monday, time.Wednesday},
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, tc.input.Unique())
// })
// }
// }
// func TestNewDateFromString(t *testing.T) {
// t.Run("no date", func(t *testing.T) {
// for _, tc := range []struct {
// name string
// input string
// exp task.Date
// }{
// {
// name: "empty",
// exp: task.Date{},
// },
// {
// name: "no date",
// input: "no date",
// exp: task.Date{},
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, task.NewDateFromString(tc.input))
// })
// }
// })
// t.Run("digits", func(t *testing.T) {
// for _, tc := range []struct {
// name string
// input string
// exp task.Date
// }{
// {
// name: "normal",
// input: "2021-01-30 (saturday)",
// exp: task.NewDate(2021, 1, 30),
// },
// {
// name: "short",
// input: "2021-01-30",
// exp: task.NewDate(2021, 1, 30),
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, task.NewDateFromString(tc.input))
// })
// }
// })
// t.Run("day name", func(t *testing.T) {
// monday := task.Today().Add(1)
// for {
// if monday.Weekday() == time.Monday {
// break
// }
// monday = monday.Add(1)
// }
// for _, tc := range []struct {
// name string
// input string
// exp task.Date
// }{
// {
// name: "dayname lowercase",
// input: "monday",
// },
// {
// name: "dayname capitalized",
// input: "Monday",
// },
// {
// name: "dayname short",
// input: "mon",
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, monday, task.NewDateFromString(tc.input))
// })
// }
// })
// t.Run("relative days", func(t *testing.T) {
// for _, tc := range []struct {
// name string
// exp task.Date
// }{
// {
// name: "today",
// exp: task.Today(),
// },
// {
// name: "tod",
// exp: task.Today(),
// },
// {
// name: "tomorrow",
// exp: task.Today().Add(1),
// },
// {
// name: "tom",
// exp: task.Today().Add(1),
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, task.NewDateFromString(tc.name))
// })
// }
// })
// }
// func TestDateDaysBetween(t *testing.T) {
// for _, tc := range []struct {
// name string
// d1 task.Date
// d2 task.Date
// exp int
// }{
// {
// name: "same",
// d1: task.NewDate(2021, 6, 23),
// d2: task.NewDate(2021, 6, 23),
// },
// {
// name: "one",
// d1: task.NewDate(2021, 6, 23),
// d2: task.NewDate(2021, 6, 24),
// exp: 1,
// },
// {
// name: "many",
// d1: task.NewDate(2021, 6, 23),
// d2: task.NewDate(2024, 3, 7),
// exp: 988,
// },
// {
// name: "edge",
// d1: task.NewDate(2020, 12, 30),
// d2: task.NewDate(2021, 1, 3),
// exp: 4,
// },
// {
// name: "reverse",
// d1: task.NewDate(2021, 6, 23),
// d2: task.NewDate(2021, 5, 23),
// exp: 31,
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, tc.d1.DaysBetween(tc.d2))
// })
// }
// }
// func TestDateString(t *testing.T) {
// for _, tc := range []struct {
// name string
// date task.Date
// exp string
// }{
// {
// name: "zero",
// date: task.NewDate(0, 0, 0),
// exp: "no date",
// },
// {
// name: "normal",
// date: task.NewDate(2021, 5, 30),
// exp: "2021-05-30 (sunday)",
// },
// {
// name: "normalize",
// date: task.NewDate(2021, 5, 32),
// exp: "2021-06-01 (tuesday)",
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, tc.date.String())
// })
// }
// }
// func TestDateHuman(t *testing.T) {
// for _, tc := range []struct {
// name string
// date task.Date
// exp string
// }{
// {
// name: "zero",
// date: task.NewDate(0, 0, 0),
// exp: "-",
// },
// {
// name: "default",
// date: task.NewDate(2020, 1, 1),
// exp: "2020-01-01 (wednesday)",
// },
// {
// name: "today",
// date: task.Today(),
// exp: "today",
// },
// {
// name: "tomorrow",
// date: task.Today().Add(1),
// exp: "tomorrow",
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, tc.date.Human())
// })
// }
// }
// func TestDateIsZero(t *testing.T) {
// test.Equals(t, true, task.Date{}.IsZero())
// test.Equals(t, false, task.NewDate(2021, 6, 24).IsZero())
// }
// func TestDateAfter(t *testing.T) {
// day := task.NewDate(2021, 1, 31)
// for _, tc := range []struct {
// name string
// tDay task.Date
// exp bool
// }{
// {
// name: "after",
// tDay: task.NewDate(2021, 1, 30),
// exp: true,
// },
// {
// name: "on",
// tDay: day,
// },
// {
// name: "before",
// tDay: task.NewDate(2021, 2, 1),
// },
// } {
// t.Run(tc.name, func(t *testing.T) {
// test.Equals(t, tc.exp, day.After(tc.tDay))
// })
// }
// }