Example #1
0
        public void ShouldInterruptJobOnRemoval()
        {
            // arrange
            var mark1 = new ManualResetEvent(false);
            var mark2 = new ManualResetEvent(false);

            var proceed = new ManualResetEvent(false);

            var trigger = new ManualTrigger();

            var jobId = scheduler.AddAction(trigger, ctx =>
            {
                mark1.Set();

                proceed.WaitOne();

                mark2.Set();
            });

            trigger.TriggerNow();
            mark1.WaitOne();

            // act
            scheduler.RemoveJob(jobId);
            proceed.Set();

            // assert
            Assert.That(mark2.WaitOne(TimeSpan.FromSeconds(0.1)), Is.False, "Job should be interrupted");
        }
        public Message()
        {
            this._headNumber = 1;
            this._messageNumber = 1;
            this._messageTitle = DateTime.Now.Ticks.ToString().Substring(0, 8);

            this._generalParametersPresent = true;
            this._messageTestPresent = true;
            this._numberOfCounters = 0;
            this._numberOfPostdates = 0;
            this._presentTimeCodes = false;
            this._numberOfBarcodes = 0;

            this._messageDirection = MessageDirection.Normal;
            this._horizontalDirection = HorizontalDirection.Normal;
            this._verticalDirection = VerticalDirection.Normal;
            this._tachoMode = TachoMode.No;
            this._manualTrigger = ManualTrigger.Yes;
            this._triggerMode = TriggerMode.Object;
            this._unitForMargins = UnitForMargins.Millimeters;
            this._dinMode = DINMode.No;

            this._mulitTopValue = 0;
            this._objectTopFilter = 1;
            this._tachoDivision = 1;
            this._forwardMargin = 3;
            this._returnMargin = 3;
            this._interval = 3;
            this._printingSpeed = 100;
            this._algorithmNumber = 0;

            this.Lines = new List<Line>();
        }
Example #3
0
        public void ShouldInvokeJobBasedOnWaitSource()
        {
            // arrange
            var jobExecuted = new ManualResetEvent(false);

            var trigger = new ManualTrigger();

            scheduler.AddJob<SetOnExecute>(cfg => cfg.UseWaitSource(trigger).WithParameter(jobExecuted));

            // act
            trigger.TriggerNow();

            // assert
            Assert.That(jobExecuted.WaitOne(TimeSpan.FromSeconds(0.1)), Is.True, "Job should be executed");
        }
Example #4
0
        public void ShouldNotTriggerJobAfterRemovingFromScheduler()
        {
            // arrange
            var jobExecuted = new ManualResetEvent(false);

            var trigger = new ManualTrigger();

            var jobId = scheduler.AddJob<SetOnExecute>(cfg => cfg.UseWaitSource(trigger).WithParameter(jobExecuted));

            // act
            scheduler.RemoveJob(jobId);
            trigger.TriggerNow();

            // assert
            Assert.That(jobExecuted.WaitOne(0), Is.False, "Job should not be executed");
        }
Example #5
0
        public void ShouldNotTriggerJobAfterRemovingFromScheduler()
        {
            // arrange
            var jobExecuted = new ManualResetEvent(false);

            var trigger = new ManualTrigger();

            var jobId = scheduler.AddJob <SetOnExecute>(cfg => cfg.UseWaitSource(trigger).WithParameter(jobExecuted));

            // act
            scheduler.RemoveJob(jobId);
            trigger.TriggerNow();

            // assert
            Assert.That(jobExecuted.WaitOne(0), Is.False, "Job should not be executed");
        }
Example #6
0
        public void DataSourceExecutesScriptOnManualTriggerPull()
        {
            PowerShellDataSource item = new PowerShellDataSource {
                Name = "Item", ScriptBlock = "@(0,1,2,3)"
            };

            Assert.NotNull(item);
            Assert.Equal(0, item.Data.Count);
            var trigger = new ManualTrigger();

            item.Trigger = trigger;
            Assert.Equal(0, item.Data.Count);
            trigger.RaiseTrigger();
            item.ScriptComplete.WaitOne(500);
            Assert.Equal(4, item.Data.Count);
        }
Example #7
0
        public void FailOfJobShouldNotPreventNextExecution()
        {
            // arrange
            var mark1   = new ManualResetEvent(false);
            var trigger = new ManualTrigger();

            scheduler.AddAction(trigger, ctx =>
            {
                mark1.Set();

                throw new Exception("Exception in job");
            });

            trigger.TriggerNow();
            mark1.WaitOne();
            mark1.Reset();

            // act
            trigger.TriggerNow();

            // assert
            Assert.That(mark1.WaitOne(TimeSpan.FromSeconds(0.1)), Is.True, "Job should be executed");
        }
Example #8
0
 public Task <IEnumerable <ValidationError> > Visit(ManualTrigger trigger)
 {
     return(Task.FromResult(Enumerable.Empty <ValidationError>()));
 }
Example #9
0
        public void FailOfJobShouldNotPreventNextExecution()
        {
            // arrange
            var mark1 = new ManualResetEvent(false);
            var trigger = new ManualTrigger();

            scheduler.AddAction(trigger, ctx =>
            {
                mark1.Set();

                throw new Exception("Exception in job");
            });

            trigger.TriggerNow();
            mark1.WaitOne();
            mark1.Reset();

            // act
            trigger.TriggerNow();

            // assert
            Assert.That(mark1.WaitOne(TimeSpan.FromSeconds(0.1)), Is.True, "Job should be executed");
        }
Example #10
0
 public RuleTriggerDto Visit(ManualTrigger trigger)
 {
     return(SimpleMapper.Map(trigger, new ManualRuleTriggerDto()));
 }