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>(); }
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"); }
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"); }
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"); }
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); }
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"); }
public Task <IEnumerable <ValidationError> > Visit(ManualTrigger trigger) { return(Task.FromResult(Enumerable.Empty <ValidationError>())); }
public RuleTriggerDto Visit(ManualTrigger trigger) { return(SimpleMapper.Map(trigger, new ManualRuleTriggerDto())); }