Skip to content

Commit b2764df

Browse files
committed
when we have a full week, take sorting by year into account
1 parent 31f640c commit b2764df

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

openhours.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,10 @@ func merge(o []time.Time) []time.Time {
247247
if o[i].Day() == o[j].Day() {
248248
return o[i].Hour() < o[j].Hour()
249249
}
250-
return o[i].Day() < o[j].Day()
250+
if o[i].Year() == o[j].Year() {
251+
return o[i].Day() < o[j].Day()
252+
}
253+
return o[i].Year() < o[j].Year()
251254
})
252255
for i := 0; i < len(o); i += 2 {
253256
for j := i + 2; j < len(o); j += 2 {

openhours_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,15 @@ func TestNew(t *testing.T) {
241241
newDate(4, 10, 30, 0, 0, l), newDate(4, 13, 0, 0, 0, l),
242242
newDate(4, 14, 0, 0, 0, l), newDate(4, 24, 0, 0, 0, l),
243243
}},
244+
{"", "Mo-Sa 10:00-21:00; Su 12:00-19:00", l, []time.Time{
245+
time.Date(2016, 12, 31, 12, 0, 0, 0, l), time.Date(2016, 12, 31, 19, 0, 0, 0, l),
246+
newDate(1, 10, 0, 0, 0, l), newDate(1, 21, 0, 0, 0, l),
247+
newDate(2, 10, 0, 0, 0, l), newDate(2, 21, 0, 0, 0, l),
248+
newDate(3, 10, 0, 0, 0, l), newDate(3, 21, 0, 0, 0, l),
249+
newDate(4, 10, 0, 0, 0, l), newDate(4, 21, 0, 0, 0, l),
250+
newDate(5, 10, 0, 0, 0, l), newDate(5, 21, 0, 0, 0, l),
251+
newDate(6, 10, 0, 0, 0, l), newDate(6, 21, 0, 0, 0, l),
252+
}},
244253
}
245254
for _, tt := range tests {
246255
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)