-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshift_test.go
More file actions
35 lines (30 loc) · 1.1 KB
/
Copy pathshift_test.go
File metadata and controls
35 lines (30 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package shiftpad
import (
"testing"
"time"
)
func TestAfterDeadline(t *testing.T) {
shift := Shift{
Begin: time.Date(2024, time.November, 26, 10, 0, 0, 0, time.UTC), // Tue 15:00
}
const deadline = "0 0 15 * * MON *" // any Mon 15:00
tests := []struct {
now time.Time
want bool
}{
{time.Date(2024, time.November, 20, 15, 1, 0, 0, time.UTC), true},
{time.Date(2024, time.November, 21, 15, 1, 0, 0, time.UTC), true},
{time.Date(2024, time.November, 22, 15, 1, 0, 0, time.UTC), true},
{time.Date(2024, time.November, 23, 15, 1, 0, 0, time.UTC), true},
{time.Date(2024, time.November, 24, 15, 1, 0, 0, time.UTC), true},
{time.Date(2024, time.November, 25, 14, 59, 0, 0, time.UTC), true}, // Mon 14:59
{time.Date(2024, time.November, 25, 15, 0, 0, 0, time.UTC), false}, // Mon 15:00
{time.Date(2024, time.November, 25, 15, 1, 0, 0, time.UTC), false}, // Mon 15:01
{time.Date(2024, time.November, 26, 14, 59, 0, 0, time.UTC), false},
}
for _, test := range tests {
if got := shift.AfterDeadline(deadline, test.now); got != test.want {
t.Fatalf("got %v, want %v", got, test.want)
}
}
}