public void TestConfigurationChangeAggregate()
        {
            SchedulerConfiguration current = SchedulerConfiguration.Active;

            try
            {
                ISchedule oneOff    = Scheduler.GetSchedule("OneOff");
                ISchedule gap       = Scheduler.GetSchedule("Gap");
                ISchedule etm       = Scheduler.GetSchedule("EveryTwoMonths");
                ISchedule aggregate = Scheduler.GetSchedule("Aggregate");

                SchedulerConfiguration newConfig = CloneConfig(current);
                newConfig.Schedules["Aggregate"].Parameters.Remove("schedule3");

                SchedulerConfiguration.Active = newConfig;

                Thread.Sleep(ConfigurationExtensions.EventBufferMs * 2);

                Assert.AreSame(oneOff, Scheduler.GetSchedule("OneOff"));
                Assert.AreSame(gap, Scheduler.GetSchedule("Gap"));
                Assert.AreSame(etm, Scheduler.GetSchedule("EveryTwoMonths"));
                AggregateSchedule newAggregate = Scheduler.GetSchedule("Aggregate") as AggregateSchedule;
                Assert.IsNotNull(newAggregate);
                Assert.AreNotSame(aggregate, newAggregate);
                Assert.AreEqual(2, newAggregate.Count());
            }
            finally
            {
                SchedulerConfiguration.Active = current;
            }
        }
 public void EmptyAggregateSchedule()
 {
     string name = Tester.RandomGenerator.RandomString();
     AggregateSchedule aggregateSchedule = new AggregateSchedule(name);
     Assert.AreEqual(name, aggregateSchedule.Name);
     Assert.AreEqual(Instant.MaxValue, aggregateSchedule.Next(TimeHelpers.Clock.Now));
     Assert.AreEqual(0, aggregateSchedule.Count());
 }
示例#3
0
        public void EmptyAggregateSchedule()
        {
            string            name = Tester.RandomGenerator.RandomString();
            AggregateSchedule aggregateSchedule = new AggregateSchedule(name);

            Assert.AreEqual(name, aggregateSchedule.Name);
            Assert.AreEqual(Instant.MaxValue, aggregateSchedule.Next(TimeHelpers.Clock.Now));
            Assert.AreEqual(0, aggregateSchedule.Count());
        }
 public void SingleAggregateSchedule()
 {
     Instant i = new Instant(Tester.RandomGenerator.RandomInt32());
     OneOffSchedule oneOffSchedule = new OneOffSchedule(i);
     AggregateSchedule aggregateSchedule = new AggregateSchedule(oneOffSchedule);
     Assert.AreEqual(1, aggregateSchedule.Count());
     Assert.AreEqual(i, aggregateSchedule.Next(i - TimeHelpers.OneSecond));
     Assert.AreEqual(i, aggregateSchedule.Next(i));
     Assert.AreEqual(Instant.MaxValue, aggregateSchedule.Next(i + Duration.FromTicks(1)));
 }
示例#5
0
        public void SingleAggregateSchedule()
        {
            Instant           i = new Instant(Tester.RandomGenerator.RandomInt32());
            OneOffSchedule    oneOffSchedule    = new OneOffSchedule(i);
            AggregateSchedule aggregateSchedule = new AggregateSchedule(oneOffSchedule);

            Assert.AreEqual(1, aggregateSchedule.Count());
            Assert.AreEqual(i, aggregateSchedule.Next(i - TimeHelpers.OneSecond));
            Assert.AreEqual(i, aggregateSchedule.Next(i));
            Assert.AreEqual(Instant.MaxValue, aggregateSchedule.Next(i + Duration.FromTicks(1)));
        }
 public void DoubleAggregateSchedule()
 {
     Instant i = new Instant(Tester.RandomGenerator.RandomInt32());
     Instant j = i + TimeHelpers.OneSecond;
     OneOffSchedule s1 = new OneOffSchedule(i);
     OneOffSchedule s2 = new OneOffSchedule(j);
     AggregateSchedule aggregateSchedule = new AggregateSchedule(s1, s2);
     Assert.AreEqual(2, aggregateSchedule.Count());
     Assert.AreEqual(i, aggregateSchedule.Next(i - TimeHelpers.OneSecond));
     Assert.AreEqual(i, aggregateSchedule.Next(i));
     Assert.AreEqual(j, aggregateSchedule.Next(i + Duration.FromTicks(1)));
     Assert.AreEqual(j, aggregateSchedule.Next(j));
     Assert.AreEqual(Instant.MaxValue, aggregateSchedule.Next(j + Duration.FromTicks(1)));
 }
示例#7
0
        public void DoubleAggregateSchedule()
        {
            Instant           i  = new Instant(Tester.RandomGenerator.RandomInt32());
            Instant           j  = i + TimeHelpers.OneSecond;
            OneOffSchedule    s1 = new OneOffSchedule(i);
            OneOffSchedule    s2 = new OneOffSchedule(j);
            AggregateSchedule aggregateSchedule = new AggregateSchedule(s1, s2);

            Assert.AreEqual(2, aggregateSchedule.Count());
            Assert.AreEqual(i, aggregateSchedule.Next(i - TimeHelpers.OneSecond));
            Assert.AreEqual(i, aggregateSchedule.Next(i));
            Assert.AreEqual(j, aggregateSchedule.Next(i + Duration.FromTicks(1)));
            Assert.AreEqual(j, aggregateSchedule.Next(j));
            Assert.AreEqual(Instant.MaxValue, aggregateSchedule.Next(j + Duration.FromTicks(1)));
        }