|
|
|
@ -52,33 +52,30 @@ public class RepeatAfterCompleteTests extends TodorooTestCase {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void testSuperDailyFreqs() throws ParseException {
|
|
|
|
public void testDailyAndGreaterFreqs() throws ParseException {
|
|
|
|
task.setValue(Task.DUE_DATE, DateUtilities.now() - DateUtilities.ONE_WEEK);
|
|
|
|
task.setValue(Task.DUE_DATE, DateUtilities.now() - DateUtilities.ONE_WEEK);
|
|
|
|
task.setFlag(Task.FLAGS, Task.FLAG_REPEAT_AFTER_COMPLETION, true);
|
|
|
|
task.setFlag(Task.FLAGS, Task.FLAG_REPEAT_AFTER_COMPLETION, true);
|
|
|
|
|
|
|
|
|
|
|
|
for(Frequency freq : Frequency.values()) {
|
|
|
|
for(int interval = 1; interval < 7; interval++) {
|
|
|
|
long interval = -1;
|
|
|
|
for(Frequency freq : Frequency.values()) {
|
|
|
|
switch(freq) {
|
|
|
|
long next = DateUtilities.now();
|
|
|
|
case DAILY:
|
|
|
|
switch(freq) {
|
|
|
|
interval = DateUtilities.ONE_DAY; break;
|
|
|
|
case DAILY:
|
|
|
|
case WEEKLY:
|
|
|
|
next += interval * DateUtilities.ONE_DAY; break;
|
|
|
|
interval = DateUtilities.ONE_WEEK; break;
|
|
|
|
case WEEKLY:
|
|
|
|
case MONTHLY:
|
|
|
|
next += interval * DateUtilities.ONE_WEEK; break;
|
|
|
|
interval = DateUtilities.addCalendarMonthsToUnixtime(DateUtilities.now(), 1) -
|
|
|
|
case MONTHLY:
|
|
|
|
DateUtilities.now(); break;
|
|
|
|
next = DateUtilities.addCalendarMonthsToUnixtime(next, interval); break;
|
|
|
|
case YEARLY:
|
|
|
|
case YEARLY:
|
|
|
|
interval = 365 * DateUtilities.ONE_DAY; break;
|
|
|
|
next = DateUtilities.addCalendarMonthsToUnixtime(next, interval * 12); break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
buildRRule(interval, freq);
|
|
|
|
|
|
|
|
nextDueDate = RepeatTaskCompleteListener.computeNextDueDate(task, rrule.toIcal());
|
|
|
|
|
|
|
|
assertDateEquals(freq.toString() + "x" + interval, next, nextDueDate);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
buildRRule(1, freq);
|
|
|
|
|
|
|
|
nextDueDate = RepeatTaskCompleteListener.computeNextDueDate(task, rrule.toIcal());
|
|
|
|
|
|
|
|
assertDateEquals(freq.toString() + "x1", DateUtilities.now() + interval, nextDueDate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
buildRRule(6, freq);
|
|
|
|
|
|
|
|
nextDueDate = RepeatTaskCompleteListener.computeNextDueDate(task, rrule.toIcal());
|
|
|
|
|
|
|
|
assertDateEquals(freq.toString() + "x6", DateUtilities.now() + 6 * interval, nextDueDate);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|