public static void YearlySchedule_HourAndMinuteInRange_Valid()
        {
            var o = new YearlyScheduleInUtc {
                Hour = 22, Minute = 23
            };

            Assert.NotNull(o);
            o.ThrowIfInvalid();
        }
        public void YearlyScheduleRoundtripWillDeserializeIntoBaseClass()
        {
            var schedule = new YearlyScheduleInUtc {
                MonthsOfYear = new[] { MonthOfYear.July }, DaysOfMonth = new[] { 6 }, Hour = 4, Minute = 22
            };
            var json             = this.bsonSerializer.SerializeToString(schedule);
            var newScheduleBase  = this.bsonSerializer.Deserialize <ScheduleBase>(json);
            var newScheduleTyped = Assert.IsType <YearlyScheduleInUtc>(newScheduleBase);

            Assert.Equal(schedule.MonthsOfYear, newScheduleTyped.MonthsOfYear);
            Assert.Equal(schedule.DaysOfMonth, newScheduleTyped.DaysOfMonth);
            Assert.Equal(schedule.Hour, newScheduleTyped.Hour);
            Assert.Equal(schedule.Minute, newScheduleTyped.Minute);
            Assert.Equal(schedule, newScheduleTyped);
        }
        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);
        }
Exemple #4
0
        public CronDummyFactory()
        {
            AutoFixtureBackedDummyFactory.UseRandomConcreteSubclassForDummy <ScheduleBase>();

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new DailyScheduleInUtc
                {
                    Hour   = A.Dummy <int>().ThatIsInRange(0, 23),
                    Minute = A.Dummy <int>().ThatIsInRange(0, 59),
                };

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new ExpressionSchedule
                {
                    CronExpression = "*/" + A.Dummy <int>().ThatIsInRange(1, 4) + " * * * *",
                };

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new HourlySchedule
                {
                    Minute = A.Dummy <int>().ThatIsInRange(0, 59),
                };

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new IntervalSchedule()
                {
                    Interval = new TimeSpan(A.Dummy <long>().ThatIsInRange(0, 10000))
                };

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new MonthlyScheduleInUtc()
                {
                    DaysOfMonth = new[]
                    {
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                    }.Distinct().ToArray(),
                    Hour   = A.Dummy <int>().ThatIsInRange(0, 23),
                    Minute = A.Dummy <int>().ThatIsInRange(0, 59),
                };

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new WeeklyScheduleInUtc()
                {
                    DaysOfWeek = Some.Dummies <DayOfWeek>(3).ToArray(),
                    Hour       = A.Dummy <int>().ThatIsInRange(0, 23),
                    Minute     = A.Dummy <int>().ThatIsInRange(0, 59),
                };

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = new YearlyScheduleInUtc()
                {
                    MonthsOfYear = Some.Dummies <MonthOfYear>(4).ToArray(),
                    DaysOfMonth  = new[]
                    {
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                        A.Dummy <int>().ThatIsInRange(0, 28),
                    }.Distinct().ToArray(),
                    Hour   = A.Dummy <int>().ThatIsInRange(0, 23),
                    Minute = A.Dummy <int>().ThatIsInRange(0, 59),
                };

                return(result);
            });
        }
 public void YearlySchedule_HourAndMinuteInRange_Valid()
 {
     var o = new YearlyScheduleInUtc { Hour = 22, Minute = 23 };
     Assert.NotNull(o);
     o.ThrowIfInvalid();
 }
 public void YearlyScheduleInUtc_DefaultYear_IsJanuary()
 {
     var o = new YearlyScheduleInUtc();
     Assert.Equal(MonthOfYear.January, o.MonthsOfYear.Single());
 }
 public void YearlyScheduleInUtc_DefaultDay_IsOne()
 {
     var o = new YearlyScheduleInUtc();
     Assert.Equal(1, o.DaysOfMonth.Single());
 }
        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);
        }
 public void YearlyScheduleRoundTripDeserializesIntoBaseClass()
 {
     var schedule = new YearlyScheduleInUtc { MonthsOfYear = new[] { MonthOfYear.July }, DaysOfMonth = new[] { 6 }, Hour = 4, Minute = 22 };
     var json = JsonConvert.SerializeObject(schedule);
     var newScheduleBase = JsonConvert.DeserializeObject<ScheduleBase>(json);
     var newScheduleTyped = Assert.IsType<YearlyScheduleInUtc>(newScheduleBase);
     Assert.Equal(schedule.MonthsOfYear, newScheduleTyped.MonthsOfYear);
     Assert.Equal(schedule.DaysOfMonth, newScheduleTyped.DaysOfMonth);
     Assert.Equal(schedule.Hour, newScheduleTyped.Hour);
     Assert.Equal(schedule.Minute, newScheduleTyped.Minute);
 }
        public static void YearlyScheduleInUtc_DefaultYear_IsJanuary()
        {
            var o = new YearlyScheduleInUtc();

            Assert.Equal(MonthOfYear.January, o.MonthsOfYear.Single());
        }
        public static void YearlyScheduleInUtc_DefaultDay_IsOne()
        {
            var o = new YearlyScheduleInUtc();

            Assert.Equal(1, o.DaysOfMonth.Single());
        }