public void WorkerShouldStopAfterContinuousIdleLoops() { string[] data = new[] { "123", "456", "789" }; List <string> result = new List <string>(); QueueWorker.DequeueWorker worker = new QueueWorker.DequeueWorker(queryRoot, "A", d => Thread.Sleep(1000), 1000, 3); worker.Start(); Enqueue("A", data[0]); Enqueue("A", data[1]); Enqueue("A", data[2]); Thread.Sleep(3000); Assert.IsTrue(worker.IsRunning); Thread.Sleep(10000); Assert.IsFalse(worker.IsRunning); }
public void EnqueueAndDequeue() { string[] data = new[] { "123", "456", "789" }; List <string> result = new List <string>(); QueueWorker.DequeueWorker worker = new QueueWorker.DequeueWorker(queryRoot, "A", result.Add, 1000); worker.Start(); Enqueue("A", data[0]); Enqueue("A", data[1]); Enqueue("A", data[2]); Thread.Sleep(10000); Assert.AreEqual(3, result.Count); }