|
1 | 1 | package quartz_test
|
2 | 2 |
|
3 | 3 | import (
|
| 4 | + "fmt" |
| 5 | + "strconv" |
4 | 6 | "testing"
|
5 | 7 | "time"
|
6 | 8 |
|
@@ -88,6 +90,41 @@ func TestCronExpression7(t *testing.T) {
|
88 | 90 | assertEqual(t, result, "Tue Jul 16 16:09:00 2019")
|
89 | 91 | }
|
90 | 92 |
|
| 93 | +func TestCronDaysOfWeek(t *testing.T) { |
| 94 | + daysOfWeek := []string{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"} |
| 95 | + expected := []string{ |
| 96 | + "Sun Apr 21 00:00:00 2019", |
| 97 | + "Mon Apr 22 00:00:00 2019", |
| 98 | + "Tue Apr 23 00:00:00 2019", |
| 99 | + "Wed Apr 24 00:00:00 2019", |
| 100 | + "Thu Apr 18 00:00:00 2019", |
| 101 | + "Fri Apr 19 00:00:00 2019", |
| 102 | + "Sat Apr 20 00:00:00 2019", |
| 103 | + } |
| 104 | + |
| 105 | + for i := 0; i < len(daysOfWeek); i++ { |
| 106 | + cronDayOfWeek(t, daysOfWeek[i], expected[i]) |
| 107 | + cronDayOfWeek(t, strconv.Itoa(i), expected[i]) |
| 108 | + } |
| 109 | +} |
| 110 | + |
| 111 | +func cronDayOfWeek(t *testing.T, dayOfWeek, expected string) { |
| 112 | + prev := int64(1555524000000000000) // Wed Apr 17 18:00:00 2019 |
| 113 | + expression := fmt.Sprintf("0 0 0 * * %s", dayOfWeek) |
| 114 | + cronTrigger, err := quartz.NewCronTrigger(expression) |
| 115 | + if err != nil { |
| 116 | + t.Fatal(err) |
| 117 | + } else { |
| 118 | + nextFireTime, err := cronTrigger.NextFireTime(prev) |
| 119 | + if err != nil { |
| 120 | + t.Fatal(err) |
| 121 | + } else { |
| 122 | + assertEqual(t, time.Unix(nextFireTime/int64(time.Second), 0).UTC().Format(readDateLayout), |
| 123 | + expected) |
| 124 | + } |
| 125 | + } |
| 126 | +} |
| 127 | + |
91 | 128 | func TestCronYearly(t *testing.T) {
|
92 | 129 | prev := int64(1555351200000000000)
|
93 | 130 | result := ""
|
@@ -121,7 +158,7 @@ func TestCronWeekly(t *testing.T) {
|
121 | 158 | } else {
|
122 | 159 | result, _ = iterate(prev, cronTrigger, 100)
|
123 | 160 | }
|
124 |
| - assertEqual(t, result, "Mon Mar 15 00:00:00 2021") |
| 161 | + assertEqual(t, result, "Sun Mar 14 00:00:00 2021") |
125 | 162 | }
|
126 | 163 |
|
127 | 164 | func TestCronDaily(t *testing.T) {
|
|
0 commit comments