public void Run_WithArgs() { int i = 0; var em = ExecutionManager.CreateWithArgs <string>(async(x) => { i++; Assert.AreEqual("XXX", x.Value); await Task.CompletedTask; }, "XXX").Run(); Assert.AreEqual(1, i); Assert.AreEqual(1, em.ExecutorCount); Assert.AreEqual(ExecutionManagerStopReason.TriggerStop, em.StopReason); }
public void Run_WithArgs_Fast() { int i = 0; var tt = new TestTrigger(); var em = ExecutionManager.CreateWithArgs <string>(async(x) => { i++; TestContext.WriteLine($"i: {i}"); Assert.AreEqual("XXX", x.Value); await Task.CompletedTask; }, tt).Run(); Assert.AreEqual(iterations, i); Assert.AreEqual(iterations, tt.Count); Assert.AreEqual(iterations, em.ExecutorCount); Assert.AreEqual(ExecutionManagerStopReason.TriggerStop, em.StopReason); }
public void Run_WithArgs_Slow() { int i = 0; var tt = new TestTrigger(); var sw = Stopwatch.StartNew(); var em = ExecutionManager.CreateWithArgs <string>(async(x) => { i++; TestContext.WriteLine($"i: {i}"); Assert.AreEqual("XXX", x.Value); await Task.Delay(200); }, tt).Run(); sw.Stop(); Assert.IsTrue(sw.ElapsedMilliseconds > 2000, sw.ElapsedMilliseconds.ToString()); Assert.AreEqual(iterations, i); Assert.AreEqual(iterations, tt.Count); Assert.AreEqual(iterations, em.ExecutorCount); Assert.AreEqual(ExecutionManagerStopReason.TriggerStop, em.StopReason); }