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 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);
        }