public void Sunday7()
 {
     Assert.Equal("At 09:00 AM, only on Sunday", GetDescription("0 0 9 ? * 7"));
 }
 public void TestLastWeekdayOfTheMonth()
 {
     Assert.Equal("Every minute, on the last weekday of the month", GetDescription("* * LW * *"));
 }
 public void TestFirstWeekdayOfTheMonth2()
 {
     Assert.Equal("Every minute, on the first weekday of the month", GetDescription("* * W1 * *"));
 }
 public void TestDayOfWeekOnceInMonth()
 {
     Assert.Equal("Every minute, on the third Monday of the month", GetDescription("* * * * MON#3"));
 }
 public void TestLastDayOfTheMonth()
 {
     Assert.Equal("Every 5 minutes, on the last day of the month, only in January", GetDescription("*/5 * L JAN *"));
 }
 public void TestDayOfWeekName()
 {
     Assert.Equal("At 12:23 PM, only on Sunday", GetDescription("23 12 * * SUN"));
 }
 public void TestEveryMinute()
 {
     Assert.Equal("Every minute", GetDescription("* * * * *"));
 }
 public void TestOneMonthOnly()
 {
     Assert.Equal("Every minute, only in March", GetDescription("* * * 3 *"));
 }
 public void TestTwoMonthsOnly()
 {
     Assert.Equal("Every minute, only in March and June", GetDescription("* * * 3,6 *"));
 }
 public void TestDailyAtTime()
 {
     Assert.Equal("At 11:30 AM", GetDescription("30 11 * * *"));
 }
 public void TestMinuteSpan()
 {
     Assert.Equal("Every minute between 11:00 AM and 11:10 AM", GetDescription("0-10 11 * * *"));
 }
 public void TestWeekdaysAtTime()
 {
     Assert.Equal("At 11:30 AM, Monday through Friday", GetDescription("30 11 * * 1-5"));
 }
 public void TestEvery5MinutesOnTheSecond()
 {
     Assert.Equal("Every 5 minutes", GetDescription("0 */5 * * * *"));
 }
 public void EveryYear()
 {
     Assert.Equal("Every 10 minutes, Monday through Friday", GetDescription("0/10 * ? * MON-FRI *"));
 }
 public void TestMonthNameRange2()
 {
     Assert.Equal("At 12:23 PM, January through February", GetDescription("23 12 * JAN-FEB *"));
 }
 public void TestTwoTimesEachAfternoon()
 {
     Assert.Equal("At 02:30 PM and 04:30 PM", GetDescription("30 14,16 * * *"));
 }
 public void TestMonthNameRange3()
 {
     Assert.Equal("At 12:23 PM, January through March", GetDescription("23 12 * JAN-MAR *"));
 }
 public void TestThreeTimesDaily()
 {
     Assert.Equal("At 06:30 AM, 02:30 PM and 04:30 PM", GetDescription("30 6,14,16 * * *"));
 }
 public void TestDayOfWeekRange()
 {
     Assert.Equal("Every 5 minutes, between 03:00 PM and 03:59 PM, Monday through Friday", GetDescription("*/5 15 * * MON-FRI"));
 }
 public void TestOnceAWeek()
 {
     Assert.Equal("At 09:46 AM, only on Monday", GetDescription("46 9 * * 1"));
 }
 public void TestDayOfWeekRangeWithDOWLowerCased()
 {
     Assert.Equal("Every 5 minutes, between 03:00 PM and 03:59 PM, Monday through Friday", GetDescription("*/5 15 * * MoN-fri"));
 }
 public void TestDayOfMonth()
 {
     Assert.Equal("At 12:23 PM, on day 15 of the month", GetDescription("23 12 15 * *"));
 }
 public void TestLastDayOfTheWeekOfTheMonth()
 {
     Assert.Equal("Every minute, on the last Thursday of the month", GetDescription("* * * * 4L"));
 }
 public void TestMonthName()
 {
     Assert.Equal("At 12:23 PM, only in January", GetDescription("23 12 * JAN *"));
 }
 public void TestLastDayOffset()
 {
     Assert.Equal("At 12:00 AM, 5 days before the last day of the month", GetDescription("0 0 0 L-5 * ?"));
 }
 public void TestLowerCaseMonthName()
 {
     Assert.Equal("At 12:23 PM, only in January", GetDescription("23 12 * jan *"));
 }
 public void TestThirteenthWeekdayOfTheMonth()
 {
     Assert.Equal("Every minute, on the weekday nearest day 13 of the month", GetDescription("* * 13W * *"));
 }
 public void TestDayOfMonthWithQuestionMark()
 {
     Assert.Equal("At 12:23 PM, only in January", GetDescription("23 12 ? JAN *"));
 }
 public void TestEvery1Minute()
 {
     Assert.Equal("Every minute", GetDescription("*/1 * * * *"));
     Assert.Equal("Every minute", GetDescription("0 0/1 * * * ?"));
 }
 public void TestEvery5Minutes()
 {
     Assert.Equal("Every 5 minutes", GetDescription("*/5 * * * *"));
     Assert.Equal("Every 10 minutes", GetDescription("0 0/10 * * * ?"));
 }