summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorLars Henriksen <LarsHenriksen@get2net.dk>2020-05-28 14:45:00 +0200
committerLukas Fleischer <lfleischer@calcurse.org>2020-06-13 10:56:15 -0400
commit382e60ba692fa8877cfa2ea531b56baa9cf2e6b7 (patch)
tree442dbc107b934128d4624bc010386ab258e23c03 /test
parentd2791b046a28c232573f4d55fbeca5a6912dd635 (diff)
downloadcalcurse-382e60ba692fa8877cfa2ea531b56baa9cf2e6b7.tar.gz
calcurse-382e60ba692fa8877cfa2ea531b56baa9cf2e6b7.zip
Extend import of recurrence rules
Support has been implemented for recurrence rule parts BYMONTH, BYMONTHDAY and BYDAY. A new test has been added. Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk> Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am2
-rw-r--r--test/data/ical-003.ical20
-rw-r--r--test/data/rfc5545.ical238
-rwxr-xr-xtest/ical-003.sh36
-rwxr-xr-xtest/ical-013.sh1800
5 files changed, 2092 insertions, 4 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index b910217..dfb97c3 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -60,6 +60,7 @@ TESTS = \
ical-010.sh \
ical-011.sh \
ical-012.sh \
+ ical-013.sh \
next-001.sh \
next-002.sh \
next-003.sh \
@@ -138,6 +139,7 @@ EXTRA_DIST = \
data/ical-008.ical \
data/ical-009.ical \
data/ical-012.ical \
+ data/rfc5545.ical \
data/rfc5545 \
data/todo \
data/todo-export
diff --git a/test/data/ical-003.ical b/test/data/ical-003.ical
index d715009..5645705 100644
--- a/test/data/ical-003.ical
+++ b/test/data/ical-003.ical
@@ -46,7 +46,25 @@ DTSTAMP:
UID:
DTSTART;VALUE=DATE:20200502
DTEND;VALUE=DATE:20200504
-DESCRIPTION:The first weekend in May is a two-day event.
+DESCRIPTION:The first weekend in May is a two-day event.\nNon-repeating event.
SUMMARY:First weekend in May
END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;VALUE=DATE:20200502
+DTEND;VALUE=DATE:20200504
+DESCRIPTION:First weekend in May is a two-day event!\nRepeating event\, three years.
+SUMMARY:First weekend in May
+RRULE:FREQ=YEARLY;BYDAY=1SA;BYMONTH=5;COUNT=3
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART:20200502T000000
+DTEND:20200504T000000
+DESCRIPTION:First weekend in May is a two-day event!\nRepeating appointment.
+SUMMARY:First weekend in May
+RRULE:FREQ=YEARLY;BYDAY=1SA;BYMONTH=5;COUNT=3
+END:VEVENT
END:VCALENDAR
diff --git a/test/data/rfc5545.ical b/test/data/rfc5545.ical
new file mode 100644
index 0000000..3f51388
--- /dev/null
+++ b/test/data/rfc5545.ical
@@ -0,0 +1,238 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970901T090000
+SUMMARY:Every other week on Monday\, Wednesday\, and Friday until December 24\, 1997\, starting on Monday\, September 1\, 1997
+RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;BYDAY=MO,WE,FR
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Every other week on Tuesday and Thursday\, for 8 occurrences
+RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970905T090000
+SUMMARY:Monthly on the first Friday for 10 occurrences
+RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970905T090000
+SUMMARY:Monthly on the first Friday until December 24\, 1997
+RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970907T090000
+SUMMARY:Every other month on the first and last Sunday of the month for 10 occurrences
+RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970922T090000
+SUMMARY:Monthly on the second-to-last Monday of the month for 6 months
+RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970928T090000
+SUMMARY:Monthly on the third-to-the-last day of the month\, forever
+RRULE:FREQ=MONTHLY;BYMONTHDAY=-3
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Monthly on the 2nd and 15th of the month for 10 occurrences
+RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970930T090000
+SUMMARY:Monthly on the first and last day of the month for 10 occurrences
+RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970910T090000
+SUMMARY:Every 18 months on the 10th thru 15th of the month for 10 occurrences
+RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,15
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+DURATION:PT1H
+SUMMARY:Daily for 10 occurrences
+RRULE:FREQ=DAILY;COUNT=10
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Every Tuesday\, every other month
+RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970610T090000
+SUMMARY:Yearly in June and July for 10 occurrences
+RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970310T090000
+SUMMARY:Every other year on January\, February\, and March for 10 occurrences
+RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970519T090000
+SUMMARY:Every 20th Monday of the year\, forever
+RRULE:FREQ=YEARLY;BYDAY=20MO
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970313T090000
+SUMMARY:Every Thursday in March\, forever
+RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970605T090000
+SUMMARY:Every Thursday\, but only during June\, July\, and August\, forever
+RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19980213T090000
+SUMMARY:Every Friday the 13th\, forever
+RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970913T090000
+SUMMARY:The first Saturday that follows the first Sunday of the month\, forever
+RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19961105T090000
+SUMMARY:Every 4 years\, the first Tuesday after a Monday in November\, forever (U.S. Presidential Election day)
+RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970805T090000
+SUMMARY:An example where the days generated makes a difference because of WKST
+RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970805T090000
+SUMMARY:changing only WKST from MO to SU\, yields different results...
+RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+DURATION:PT30M
+SUMMARY:Daily until December 24\, 1997
+RRULE:FREQ=DAILY;UNTIL=19971224T000000Z
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:20070115T090000
+SUMMARY:An example where an invalid date (i.e.\, February 30) is ignored
+RRULE:FREQ=MONTHLY;BYMONTHDAY=15,30;COUNT=5
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+DURATION:PT5M
+SUMMARY:Every other day - forever
+RRULE:FREQ=DAILY;INTERVAL=2
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Every 10 days\, 5 occurrences:
+RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19980101T090000
+SUMMARY:(1) Every day in January\, for 3 years:
+RRULE:FREQ=YEARLY;UNTIL=20000131T140000Z;BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19980101T090000
+SUMMARY:(2) Every day in January\, for 3 years:
+RRULE:FREQ=DAILY;UNTIL=20000131T140000Z;BYMONTH=1
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Weekly for 10 occurrences
+RRULE:FREQ=WEEKLY;COUNT=10
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Weekly until December 24\, 1997
+RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Every other week - forever
+RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Weekly on Tuesday and Thursday for five weeks (UNTIL)
+RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
+END:VEVENT
+BEGIN:VEVENT
+DTSTAMP:
+UID:
+DTSTART;TZID=America/New_York:19970902T090000
+SUMMARY:Weekly on Tuesday and Thursday for five weeks (COUNT)
+RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH
+END:VEVENT
+END:VCALENDAR
diff --git a/test/ical-003.sh b/test/ical-003.sh
index 69cb4c3..cff65c0 100755
--- a/test/ical-003.sh
+++ b/test/ical-003.sh
@@ -8,13 +8,13 @@ if [ "$1" = 'actual' ]; then
cp "$DATA_DIR/conf" .calcurse || exit 1
"$CALCURSE" -D "$PWD/.calcurse" -i "$DATA_DIR/ical-003.ical"
"$CALCURSE" -D "$PWD/.calcurse" -s01/01/2000 -r365
- "$CALCURSE" -D "$PWD/.calcurse" -s05/01/2020 --to 01/01/2022
+ "$CALCURSE" -D "$PWD/.calcurse" -s05/01/2020 --to 01/01/2023
cat "$PWD/.calcurse/notes"/*
rm -rf .calcurse || exit 1
elif [ "$1" = 'expected' ]; then
cat <<EOD
-Import process report: 0052 lines read
-6 apps / 1 event / 0 todos / 0 skipped
+Import process report: 0070 lines read
+7 apps / 2 events / 0 todos / 0 skipped
01/01/00:
- 00:00 -> 01:30
Recurring appointment
@@ -136,9 +136,14 @@ Import process report: 0052 lines read
Recurring appointment
05/02/20:
* First weekend in May
+ * First weekend in May
+ - 00:00 -> ..:..
+ First weekend in May
05/03/20:
* First weekend in May
+ - ..:.. -> 00:00
+ First weekend in May
05/26/20:
- 12:00 -> 13:17
@@ -182,6 +187,15 @@ Import process report: 0052 lines read
- 21:45 -> 22:00
monthly on 31th, count 10, exceptions 31/7/2020 and 31/1/2021
+05/01/21:
+ * First weekend in May
+ - 00:00 -> ..:..
+ First weekend in May
+
+05/02/21:
+ - ..:.. -> 00:00
+ First weekend in May
+
05/31/21:
- 21:45 -> 22:00
monthly on 31th, count 10, exceptions 31/7/2020 and 31/1/2021
@@ -201,7 +215,23 @@ Import process report: 0052 lines read
12/31/21:
- 21:45 -> 22:00
monthly on 31th, count 10, exceptions 31/7/2020 and 31/1/2021
+
+05/07/22:
+ * First weekend in May
+ - 00:00 -> ..:..
+ First weekend in May
+
+05/08/22:
+ - ..:.. -> 00:00
+ First weekend in May
+First weekend in May is a two-day event!
+Repeating appointment.
The first weekend in May is a two-day event.
+Non-repeating event.
+--
+Import: multi-day event changed to one-day event
+First weekend in May is a two-day event!
+Repeating event, three years.
--
Import: multi-day event changed to one-day event
EOD
diff --git a/test/ical-013.sh b/test/ical-013.sh
new file mode 100755
index 0000000..f5d012b
--- /dev/null
+++ b/test/ical-013.sh
@@ -0,0 +1,1800 @@
+#!/bin/sh
+# Advanced recurrence rules. All the examples from RFC 5545 which are suppported.
+
+. "${TEST_INIT:-./test-init.sh}"
+
+if [ "$1" = 'actual' ]; then
+ mkdir .calcurse || exit 1
+ cp "$DATA_DIR/conf" .calcurse || exit 1
+ TZ=America/New_York "$CALCURSE" -D "$PWD/.calcurse" -i "$DATA_DIR/rfc5545.ical"
+ "$CALCURSE" -D "$PWD/.calcurse" -s09/01/1997 -r365
+ rm -rf .calcurse || exit 1
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+Import process report: 0238 lines read
+33 apps / 0 events / 0 todos / 0 skipped
+09/01/97:
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+09/02/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 10 days, 5 occurrences:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+09/03/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+09/04/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+
+09/05/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first Friday until December 24, 1997
+
+09/06/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/07/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+
+09/08/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/09/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+09/10/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 18 months on the 10th thru 15th of the month for 10 occurrences
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/11/97:
+ - 09:00 -> 10:00
+ Daily for 10 occurrences
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 18 months on the 10th thru 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+
+09/12/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 10 days, 5 occurrences:
+ - 09:00 -> 09:00
+ Every 18 months on the 10th thru 15th of the month for 10 occurrences
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/13/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 18 months on the 10th thru 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+09/14/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 18 months on the 10th thru 15th of the month for 10 occurrences
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/15/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 18 months on the 10th thru 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+
+09/16/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+09/17/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+09/18/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+
+09/19/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+09/20/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/21/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+09/22/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 10 days, 5 occurrences:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the second-to-last Monday of the month for 6 months
+
+09/23/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+09/24/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/25/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+
+09/26/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+09/27/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+09/28/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+09/29/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+09/30/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+10/01/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+10/02/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 10 days, 5 occurrences:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (COUNT)
+ - 09:00 -> 09:00
+ Weekly on Tuesday and Thursday for five weeks (UNTIL)
+
+10/03/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first Friday until December 24, 1997
+
+10/04/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/05/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+10/06/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/07/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+10/08/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/09/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+10/10/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/11/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+10/12/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every 10 days, 5 occurrences:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/13/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+10/14/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+10/15/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+
+10/16/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week on Tuesday and Thursday, for 8 occurrences
+
+10/17/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+10/18/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/19/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+10/20/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the second-to-last Monday of the month for 6 months
+
+10/21/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+10/22/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/23/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+10/24/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/25/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+10/26/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/27/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+10/28/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+10/29/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+10/30/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+10/31/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+11/01/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+11/02/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+
+11/03/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/04/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:00
+ Weekly for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+11/05/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/06/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+11/07/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first Friday until December 24, 1997
+
+11/08/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+11/09/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/10/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+11/11/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+11/12/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+11/13/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/14/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+11/15/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+
+11/16/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+11/17/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the second-to-last Monday of the month for 6 months
+
+11/18/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+11/19/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/20/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+11/21/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/22/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+11/23/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/24/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+11/25/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+11/26/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+11/27/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/28/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+11/29/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+11/30/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+12/01/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+12/02/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+12/03/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/04/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+12/05/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first Friday until December 24, 1997
+
+12/06/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+12/07/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/08/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+12/09/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+12/10/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+12/11/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/12/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+
+12/13/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+12/14/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+12/15/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+
+12/16/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+12/17/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/18/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+12/19/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/20/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+
+12/21/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/22/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:00
+ Every other week on Monday, Wednesday, and Friday until December 24, 1997, starting on Monday, September 1, 1997
+ - 09:00 -> 09:00
+ Monthly on the second-to-last Monday of the month for 6 months
+
+12/23/97:
+ - 09:00 -> 09:30
+ Daily until December 24, 1997
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Weekly until December 24, 1997
+
+12/25/97:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/27/97:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+12/29/97:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+12/31/97:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+01/01/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+01/02/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+
+01/03/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/04/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+
+01/05/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/06/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+01/07/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/08/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/09/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/10/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+01/11/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/12/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/13/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+01/14/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/15/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Monthly on the 2nd and 15th of the month for 10 occurrences
+
+01/16/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/17/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/18/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/19/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Monthly on the second-to-last Monday of the month for 6 months
+
+01/20/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+01/21/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/22/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/23/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+
+01/24/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/25/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+
+01/26/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/27/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+01/28/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/29/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+01/30/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+01/31/98:
+ - 09:00 -> 09:00
+ (1) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ (2) Every day in January, for 3 years:
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+02/01/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first and last day of the month for 10 occurrences
+
+02/03/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+02/05/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/06/98:
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+
+02/07/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+02/09/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/11/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/13/98:
+ - 09:00 -> 09:00
+ Every Friday the 13th, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/15/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/16/98:
+ - 09:00 -> 09:00
+ Monthly on the second-to-last Monday of the month for 6 months
+
+02/17/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+02/19/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/21/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/23/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/25/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+02/26/98:
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+02/27/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/01/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+
+03/03/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+03/05/98:
+ - 09:00 -> 09:00
+ Every Thursday in March, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/06/98:
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+
+03/07/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+03/09/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/10/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+03/11/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/12/98:
+ - 09:00 -> 09:00
+ Every Thursday in March, forever
+
+03/13/98:
+ - 09:00 -> 09:00
+ Every Friday the 13th, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/15/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/17/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+03/19/98:
+ - 09:00 -> 09:00
+ Every Thursday in March, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/21/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/23/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/24/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+03/25/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/26/98:
+ - 09:00 -> 09:00
+ Every Thursday in March, forever
+
+03/27/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+03/29/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+03/31/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+04/02/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/03/98:
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+
+04/04/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/06/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/08/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/10/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/11/98:
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+04/12/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/14/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+04/16/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/18/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/20/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/22/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/24/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/26/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+04/28/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+04/30/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/01/98:
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+
+05/02/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/03/98:
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+
+05/04/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/05/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+05/06/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/08/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/09/98:
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+05/10/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/12/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+05/14/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/16/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/18/98:
+ - 09:00 -> 09:00
+ Every 20th Monday of the year, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/19/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+05/20/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/22/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/24/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/26/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+05/28/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/29/98:
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+05/30/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+05/31/98:
+ - 09:00 -> 09:00
+ Every other month on the first and last Sunday of the month for 10 occurrences
+
+06/01/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/03/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/04/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+06/05/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the first Friday for 10 occurrences
+
+06/07/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/09/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+06/10/98:
+ - 09:00 -> 09:00
+ Yearly in June and July for 10 occurrences
+
+06/11/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/13/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+06/15/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/17/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/18/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+06/19/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/21/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/23/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+06/25/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/27/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+06/28/98:
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+06/29/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/01/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/02/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+07/03/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/05/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/07/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+07/09/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/10/98:
+ - 09:00 -> 09:00
+ Yearly in June and July for 10 occurrences
+
+07/11/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+07/13/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/14/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+07/15/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/16/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+07/17/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/19/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/21/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+07/23/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/25/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/27/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+07/28/98:
+ - 09:00 -> 09:00
+ Every Tuesday, every other month
+
+07/29/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+07/30/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+07/31/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/02/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/04/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+08/06/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/08/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ The first Saturday that follows the first Sunday of the month, forever
+
+08/10/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/12/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/13/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+08/14/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/16/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/18/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+ - 09:00 -> 09:00
+ Every other week - forever
+
+08/20/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/22/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/24/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/26/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/27/98:
+ - 09:00 -> 09:00
+ Every Thursday, but only during June, July, and August, forever
+
+08/28/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+
+08/29/98:
+ - 09:00 -> 09:00
+ Monthly on the third-to-the-last day of the month, forever
+
+08/30/98:
+ - 09:00 -> 09:05
+ Every other day - forever
+EOD
+else
+ ./run-test "$0"
+fi