Created
February 12, 2020 07:58
-
-
Save Phoenix124/d4760cc1de782c1655b6a41632bf7c8c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Test | |
public void testThatWatchedCronExpressionIsCorrect() { | |
CronTrigger trigger = | |
new CronTrigger(watchedCron); | |
Calendar today = Calendar.getInstance(); | |
today.set(Calendar.HOUR_OF_DAY, 9); | |
today.set(Calendar.MINUTE, 0); | |
final Date yesterday = today.getTime(); | |
Date nextExecutionTime = trigger.nextExecutionTime( | |
new TriggerContext() { | |
@Override | |
public Date lastScheduledExecutionTime() { | |
return yesterday; | |
} | |
@Override | |
public Date lastActualExecutionTime() { | |
return yesterday; | |
} | |
@Override | |
public Date lastCompletionTime() { | |
return yesterday; | |
} | |
}); | |
assertEquals(nextExecutionTime.getHours(), 9); | |
assertEquals(nextExecutionTime.getMinutes(), 0); | |
ZoneId defaultZoneId = ZoneId.systemDefault(); | |
LocalDate yesterdayLocalDate = LocalDate.ofInstant(yesterday.toInstant(), defaultZoneId); | |
LocalDate nextExecutionLocalDate = LocalDate.ofInstant(nextExecutionTime.toInstant(), defaultZoneId); | |
long difference = DAYS.between(yesterdayLocalDate, nextExecutionLocalDate); | |
assertEquals(1, difference); | |
} | |
@Test | |
public void testThatExpiredCronExpressionIsCorrect() { | |
CronTrigger trigger = | |
new CronTrigger(expiredCron); | |
Calendar halfAnHour = Calendar.getInstance(); | |
halfAnHour.set(Calendar.MINUTE, 30); | |
halfAnHour.set(Calendar.SECOND, 0); | |
halfAnHour.set(Calendar.MILLISECOND, 0); | |
final Date firstExecutionTime = halfAnHour.getTime(); | |
Date nextExecutionTime = trigger.nextExecutionTime( | |
new TriggerContext() { | |
@Override | |
public Date lastScheduledExecutionTime() { | |
return firstExecutionTime; | |
} | |
@Override | |
public Date lastActualExecutionTime() { | |
return firstExecutionTime; | |
} | |
@Override | |
public Date lastCompletionTime() { | |
return firstExecutionTime; | |
} | |
}); | |
var diffInMillis = nextExecutionTime.getTime() - firstExecutionTime.getTime(); | |
assertEquals(30, TimeUnit.MILLISECONDS.toMinutes(diffInMillis)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment