public static void GetCronExpressionFromSchedule_UnsupportedSchedule_Throws() { var schedule = new NullSchedule(); var ex = Assert.Throws <NotSupportedException>(() => ScheduleCronExpressionConverter.ToCronExpression(schedule)); Assert.Equal("Unsupported Schedule: " + schedule.GetType().AssemblyQualifiedName, ex.Message); }
public static void GetScheduleFromCronExpression_UnsupportedExpression_Throws() { var expression = "a s d f g"; var ex = Assert.Throws <NotSupportedException>(() => ScheduleCronExpressionConverter.FromCronExpression(expression)); Assert.Equal("Expression is not supported for translation: " + expression, ex.Message); }
public static void GetCronExpressionFromScheduleInterval_Expression_Works() { var schedule = new ExpressionSchedule { CronExpression = "*/2 * * * *" }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("*/2 * * * *", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <IntervalSchedule>(newSchedule); Assert.Equal(typeof(IntervalSchedule), newScheduleTyped.GetType()); Assert.Equal(2, newScheduleTyped.Interval.TotalMinutes); }
public static void GetCronExpressionFromSchedule_Hourly_Works() { var schedule = new HourlySchedule { Minute = 7 }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("7 * * * *", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <HourlySchedule>(newSchedule); Assert.Equal(schedule.GetType(), newScheduleTyped.GetType()); Assert.Equal(schedule.Minute, newScheduleTyped.Minute); }
public static void GetCronExpressionFromSchedule_Interval_Works() { var schedule = new IntervalSchedule { Interval = TimeSpan.FromMinutes(1) }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("* * * * *", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <IntervalSchedule>(newSchedule); Assert.Equal(schedule.GetType(), newScheduleTyped.GetType()); Assert.Equal(schedule.Interval, newScheduleTyped.Interval); }
public static void GetCronExpressionFromSchedule_Daily_Works() { var schedule = new DailyScheduleInUtc { Hour = 22, Minute = 17 }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("17 22 * * *", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <DailyScheduleInUtc>(newSchedule); Assert.Equal(schedule.GetType(), newScheduleTyped.GetType()); Assert.Equal(schedule.Hour, newScheduleTyped.Hour); Assert.Equal(schedule.Minute, newScheduleTyped.Minute); }
public static void GetCronExpressionFromSchedule_Monthly_Works() { var schedule = new MonthlyScheduleInUtc { DaysOfMonth = new[] { 20 }, Hour = 22, Minute = 48 }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("48 22 20 * *", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <MonthlyScheduleInUtc>(newSchedule); Assert.Equal(schedule.GetType(), newScheduleTyped.GetType()); Assert.Equal(schedule.DaysOfMonth.Single(), newScheduleTyped.DaysOfMonth.Single()); Assert.Equal(schedule.Hour, newScheduleTyped.Hour); Assert.Equal(schedule.Minute, newScheduleTyped.Minute); }
public static void GetCronExpressionFromSchedule_Weekly_Works() { var schedule = new WeeklyScheduleInUtc() { DaysOfWeek = new[] { DayOfWeek.Thursday }, Hour = 21, Minute = 17, }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("17 21 * * 4", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <WeeklyScheduleInUtc>(newSchedule); Assert.Equal(schedule.GetType(), newScheduleTyped.GetType()); Assert.Equal(schedule.DaysOfWeek.Single(), newScheduleTyped.DaysOfWeek.Single()); Assert.Equal(schedule.Hour, newScheduleTyped.Hour); Assert.Equal(schedule.Minute, newScheduleTyped.Minute); }
public static void GetCronExpressionFromSchedule_Yearly_Works() { var schedule = new YearlyScheduleInUtc { MonthsOfYear = new[] { MonthOfYear.April }, DaysOfMonth = new[] { 20 }, Hour = 1, Minute = 38, }; var cron = ScheduleCronExpressionConverter.ToCronExpression(schedule); Assert.Equal("38 1 20 4 *", cron); var newSchedule = ScheduleCronExpressionConverter.FromCronExpression(cron); var newScheduleTyped = Assert.IsType <YearlyScheduleInUtc>(newSchedule); Assert.Equal(schedule.GetType(), newScheduleTyped.GetType()); Assert.Equal(schedule.MonthsOfYear.Single(), newScheduleTyped.MonthsOfYear.Single()); Assert.Equal(schedule.DaysOfMonth.Single(), newScheduleTyped.DaysOfMonth.Single()); Assert.Equal(schedule.Hour, newScheduleTyped.Hour); Assert.Equal(schedule.Minute, newScheduleTyped.Minute); }
public static void GetScheduleFromCronExpression_Empty_Throws() { var ex = Assert.Throws <ArgumentException>(() => ScheduleCronExpressionConverter.FromCronExpression(string.Empty)); Assert.Equal("Cannot have a null or empty cron expression.\r\nParameter name: cronExpression", ex.Message); }
public static void GetScheduleFromCronExpression_TooFewColumns_Throws() { var ex = Assert.Throws <ArgumentException>(() => ScheduleCronExpressionConverter.FromCronExpression("* * * *")); Assert.Equal("Incorrect number of values in the cron expression.\r\nParameter name: cronExpression", ex.Message); }