コード例 #1
0
 public void ExpressionScheduleRoundTripDeserializesIntoBaseClass()
 {
     var schedule = new ExpressionSchedule { CronExpression = "* * * * *" };
     var json = JsonConvert.SerializeObject(schedule);
     var newScheduleBase = JsonConvert.DeserializeObject<ScheduleBase>(json);
     var newScheduleTyped = Assert.IsType<ExpressionSchedule>(newScheduleBase);
     Assert.Equal(schedule.CronExpression, newScheduleTyped.CronExpression);
 }
コード例 #2
0
 public void GetCronExpressionFromSchedule_ExpressionClone_Works()
 {
     var schedule = new ExpressionSchedule { CronExpression = "* * * * *" };
     var cloned = schedule.Clone();
     var clonedTyped = Assert.IsType<ExpressionSchedule>(cloned);
     Assert.Equal(schedule.GetType(), clonedTyped.GetType());
     Assert.Equal(schedule.CronExpression, clonedTyped.CronExpression);
     Assert.NotSame(schedule, clonedTyped);
 }
コード例 #3
0
        public 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);
        }
コード例 #4
0
        public void ExpressionScheduleRoundtripWillDeserializeIntoBaseClass()
        {
            var schedule = new ExpressionSchedule {
                CronExpression = "* * * * *"
            };
            var json             = this.bsonSerializer.SerializeToString(schedule);
            var newScheduleBase  = this.bsonSerializer.Deserialize <ScheduleBase>(json);
            var newScheduleTyped = Assert.IsType <ExpressionSchedule>(newScheduleBase);

            Assert.Equal(schedule.CronExpression, newScheduleTyped.CronExpression);
            Assert.Equal(schedule, newScheduleTyped);
        }
コード例 #5
0
        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);
        }
コード例 #6
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);
            });
        }