001package org.xbib.cron; 002 003import org.testng.annotations.Test; 004import org.xbib.elasticsearch.plugin.jdbc.cron.CronExpression; 005 006import static org.testng.Assert.assertEquals; 007 008public class CronTest { 009 010 @Test 011 public void cron() { 012 CronExpression expression = new CronExpression("0 0 14-6 ? * FRI-MON"); 013 assertEquals(expression.getExpressionSummary(), 014 "seconds: 0\n" + 015 "minutes: 0\n" + 016 "hours: 0,1,2,3,4,5,6,14,15,16,17,18,19,20,21,22,23\n" + 017 "daysOfMonth: ?\n" + 018 "months: *\n" + 019 "daysOfWeek: 1,2,6,7\n" + 020 "lastdayOfWeek: false\n" + 021 "nearestWeekday: false\n" + 022 "NthDayOfWeek: 0\n" + 023 "lastdayOfMonth: false\n" + 024 "years: *\n" 025 ); 026 027 expression = new CronExpression("0 0 0-23 ? * *"); 028 assertEquals(expression.getExpressionSummary(), 029 "seconds: 0\n" + 030 "minutes: 0\n" + 031 "hours: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23\n" + 032 "daysOfMonth: ?\n" + 033 "months: *\n" + 034 "daysOfWeek: *\n" + 035 "lastdayOfWeek: false\n" + 036 "nearestWeekday: false\n" + 037 "NthDayOfWeek: 0\n" + 038 "lastdayOfMonth: false\n" + 039 "years: *\n" 040 ); 041 042 043 expression = new CronExpression("0-59 0-59 0-23 ? * *"); 044 assertEquals(expression.getExpressionSummary(), 045 "seconds: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59\n" + 046 "minutes: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59\n" + 047 "hours: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23\n" + 048 "daysOfMonth: ?\n" + 049 "months: *\n" + 050 "daysOfWeek: *\n" + 051 "lastdayOfWeek: false\n" + 052 "nearestWeekday: false\n" + 053 "NthDayOfWeek: 0\n" + 054 "lastdayOfMonth: false\n" + 055 "years: *\n" 056 ); 057 058 expression = new CronExpression("0/5 0-59 0-23 ? * *"); 059 assertEquals(expression.getExpressionSummary(), 060 "seconds: 0,5,10,15,20,25,30,35,40,45,50,55\n" + 061 "minutes: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59\n" + 062 "hours: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23\n" + 063 "daysOfMonth: ?\n" + 064 "months: *\n" + 065 "daysOfWeek: *\n" + 066 "lastdayOfWeek: false\n" + 067 "nearestWeekday: false\n" + 068 "NthDayOfWeek: 0\n" + 069 "lastdayOfMonth: false\n" + 070 "years: *\n" 071 ); 072 073 // comma test 074 expression = new CronExpression("0 5,35 * * * ?"); 075 assertEquals(expression.getExpressionSummary(), 076 "seconds: 0\n" + 077 "minutes: 5,35\n" + 078 "hours: *\n" + 079 "daysOfMonth: *\n" + 080 "months: *\n" + 081 "daysOfWeek: ?\n" + 082 "lastdayOfWeek: false\n" + 083 "nearestWeekday: false\n" + 084 "NthDayOfWeek: 0\n" + 085 "lastdayOfMonth: false\n" + 086 "years: *\n" 087 ); 088 } 089}