Skip to content

Commit

Permalink
Issue #59: Add some test cases.
Browse files Browse the repository at this point in the history
  • Loading branch information
jmrozanec committed Feb 3, 2016
1 parent 5b887f2 commit af0fd4c
Showing 1 changed file with 37 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

public class ExecutionTimeUnixIntegrationTest {

Expand Down Expand Up @@ -135,12 +136,29 @@ public void testWeekdayAndWithMixOfOnAndBetweenLastExecution() {
assertEquals(DateTime.parse("2015-11-10T17:00:00Z"), executionTime.lastExecution(date));
}

/**
* Issue #59: Incorrect next execution time for "month" and "day of week"
* Considers Month in range 0-11 instead of 1-12
*/
@Test
public void testCorrectMonthScaleForNextExecution1(){
CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(CronType.UNIX);
CronParser parser = new CronParser(cronDefinition);
String crontab = "* * */3 */4 */5";//m,h,dom,M,dow
Cron cron = parser.parse(crontab);
ExecutionTime executionTime = ExecutionTime.forCron(cron);
DateTime scanTime = DateTime.parse("2015-12-10T16:32:56.586-08:00");
DateTime nextExecutionTime = executionTime.nextExecution(scanTime);
System.out.println(String.format("Scan time %s, next execution time: %s", scanTime, nextExecutionTime));
assertNotNull(null);
}

/**
* Issue #59: Incorrect next execution time for "day of month" in "time" situation
* dom "* / 4" should means 1, 5, 9, 13, 17th... of month instead of 4, 8, 12, 16th...
*/
@Test
public void testCorrectMonthScaleForNextExecution(){
public void testCorrectMonthScaleForNextExecution2(){
CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(CronType.UNIX);
CronParser parser = new CronParser(cronDefinition);
String crontab = "* * */4 * *";//m,h,dom,M,dow
Expand All @@ -155,7 +173,23 @@ public void testCorrectMonthScaleForNextExecution(){
* Issue #59: Incorrect next execution time for "month" and "day of week"
* Considers bad DoW
*/
public void testCorrectNextExecutionDoW(){
public void testCorrectNextExecutionDoW1(){
CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(CronType.UNIX);
CronParser parser = new CronParser(cronDefinition);
String crontab = "* * */3 */4 */5";
Cron cron = parser.parse(crontab);
ExecutionTime executionTime = ExecutionTime.forCron(cron);
DateTime scanTime = DateTime.parse("2015-12-10T16:32:56.586-08:00");
DateTime nextExecutionTime = executionTime.nextExecution(scanTime);
System.out.println(String.format("Scan time %s, next execution time: %s", scanTime, nextExecutionTime));
assertNotNull(null);
}

/**
* Issue #59: Incorrect next execution time for "month" and "day of week"
* Considers bad DoW
*/
public void testCorrectNextExecutionDoW2(){
CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(CronType.UNIX);
CronParser parser = new CronParser(cronDefinition);
String crontab = "* * * * */4";
Expand All @@ -164,6 +198,6 @@ public void testCorrectNextExecutionDoW(){
DateTime scanTime = DateTime.parse("2016-01-28T16:32:56.586-08:00");
DateTime nextExecutionTime = executionTime.nextExecution(scanTime);
System.out.println(String.format("Scan time %s, next execution time: %s", scanTime, nextExecutionTime));
assertNotNull(null);
}

}

0 comments on commit af0fd4c

Please sign in to comment.