/* * Copyright (C) 2015 Jörg Prante * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.xbib.elasticsearch.common.cron; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; public class CronTest { @Test public void cron() { CronExpression expression = new CronExpression("0 0 14-6 ? * FRI-MON"); assertEquals(expression.getExpressionSummary(), "seconds: 0\n" + "minutes: 0\n" + "hours: 0,1,2,3,4,5,6,14,15,16,17,18,19,20,21,22,23\n" + "daysOfMonth: ?\n" + "months: *\n" + "daysOfWeek: 1,2,6,7\n" + "lastdayOfWeek: false\n" + "nearestWeekday: false\n" + "NthDayOfWeek: 0\n" + "lastdayOfMonth: false\n" + "years: *\n" ); expression = new CronExpression("0 0 0-23 ? * *"); assertEquals(expression.getExpressionSummary(), "seconds: 0\n" + "minutes: 0\n" + "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" + "daysOfMonth: ?\n" + "months: *\n" + "daysOfWeek: *\n" + "lastdayOfWeek: false\n" + "nearestWeekday: false\n" + "NthDayOfWeek: 0\n" + "lastdayOfMonth: false\n" + "years: *\n" ); expression = new CronExpression("0-59 0-59 0-23 ? * *"); assertEquals(expression.getExpressionSummary(), "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" + "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" + "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" + "daysOfMonth: ?\n" + "months: *\n" + "daysOfWeek: *\n" + "lastdayOfWeek: false\n" + "nearestWeekday: false\n" + "NthDayOfWeek: 0\n" + "lastdayOfMonth: false\n" + "years: *\n" ); expression = new CronExpression("0/5 0-59 0-23 ? * *"); assertEquals(expression.getExpressionSummary(), "seconds: 0,5,10,15,20,25,30,35,40,45,50,55\n" + "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" + "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" + "daysOfMonth: ?\n" + "months: *\n" + "daysOfWeek: *\n" + "lastdayOfWeek: false\n" + "nearestWeekday: false\n" + "NthDayOfWeek: 0\n" + "lastdayOfMonth: false\n" + "years: *\n" ); // comma test expression = new CronExpression("0 5,35 * * * ?"); assertEquals(expression.getExpressionSummary(), "seconds: 0\n" + "minutes: 5,35\n" + "hours: *\n" + "daysOfMonth: *\n" + "months: *\n" + "daysOfWeek: ?\n" + "lastdayOfWeek: false\n" + "nearestWeekday: false\n" + "NthDayOfWeek: 0\n" + "lastdayOfMonth: false\n" + "years: *\n" ); expression = new CronExpression("0/2 * * * * ?"); assertEquals(expression.getExpressionSummary(), "seconds: 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58\n" + "minutes: *\n" + "hours: *\n" + "daysOfMonth: *\n" + "months: *\n" + "daysOfWeek: ?\n" + "lastdayOfWeek: false\n" + "nearestWeekday: false\n" + "NthDayOfWeek: 0\n" + "lastdayOfMonth: false\n" + "years: *\n" ); } }