Пример #1
0
        public void Should_return_DefaultScheduler_if_no_container_set()
        {
            ISchedulerFactory factory = new DefaultSchedulerFactory();

            var scheduler = factory.Create();

            Assert.That(scheduler, Is.InstanceOf<DefaultScheduler>());
        }
Пример #2
0
        public void Should_use_castle_dependency_if_castle_set_as_container()
        {
            var container = new WindsorContainer();
            container.Register(Component.For<IScheduler>().ImplementedBy<TestScheduler>());

            var factory = new DefaultSchedulerFactory();
            var scheduler = factory.UseContainer(() => new WindsorServiceLocator(container)).Create();

            Assert.That(scheduler, Is.InstanceOf<TestScheduler>());
        }
Пример #3
0
        public void Should_return_DefaultScheduler_if_container_set_but_scheduler_not_registered()
        {
            var container = new WindsorContainer();
            container.Register();

            var factory = new DefaultSchedulerFactory();
            var scheduler = factory.UseContainer(() => new WindsorServiceLocator(container)).Create();

            Assert.That(scheduler, Is.InstanceOf<DefaultScheduler>());
        }
        public void Should_run_every_scheduled_second_without_providing_instance()
        {
            var scheduler = new DefaultSchedulerFactory().Create();

            scheduler.Setup(
                Job.Run<TestJob>(x => x.RunJob()).Every(1.Second())
                ).Start();

            Thread.Sleep(TimeSpan.FromSeconds(5));
            scheduler.Stop();

            Assert.That(TestJob.TimesCalled, Is.EqualTo(5));
        }
        public void Should_run_every_scheduled_second()
        {
            var container = new WindsorContainer();
            var testJob = new TestJob();
            container.Register(Component.For<TestJob>().Instance(testJob));

            var scheduler = new DefaultSchedulerFactory().UseContainer(() => new WindsorServiceLocator(container)).Create();

            scheduler.Setup(
                Job.Run<TestJob>(x => x.RunJob()).Every(1.Second())
                ).Start();

            Thread.Sleep(TimeSpan.FromSeconds(5));
            scheduler.Stop();

            Assert.That(testJob.TimesCalled, Is.EqualTo(5));

            container.Dispose();
        }