public void OperationsTest() { var results = new List<Result>(); var queue = new IdleTimeAsyncTaskQueue(_editorShell); var ta = new TaskAction(1, results); queue.Enqueue(ta.Action, ta.CallBackAction, typeof(TaskAction)); ta = new TaskAction(2, results); queue.Enqueue(ta.Action, ta.CallBackAction, typeof(TaskAction)); ta = new TaskAction(3, results); queue.Enqueue(ta.Action, ta.CallBackAction, typeof(TaskAction)); RunThreads(); results.Count.Should().Be(3); results[0].Id.Should().Be(1); results[1].Id.Should().Be(2); results[2].Id.Should().Be(3); results.Clear(); ta = new TaskAction(1, results); object o1 = 1; queue.Enqueue(ta.Action, ta.CallBackAction, o1); ta = new TaskAction(2, results); object o2 = 2; queue.Enqueue(ta.Action, ta.CallBackAction, o2); ta = new TaskAction(3, results); object o3 = 3; queue.Enqueue(ta.Action, ta.CallBackAction, o3); queue.IncreasePriority(o3); RunThreads(); results.Count.Should().Be(3); results[0].Id.Should().Be(3); results[1].Id.Should().Be(1); results[2].Id.Should().Be(2); }