public void TasksConsistencyTest(int threadCount,int taskCount,Func<Action> taskPayloadProvider) { var pool = new ThreadPool.ThreadPool(threadCount); var random = new Random(); int completedTasksCount = 0; for (int i = 0; i < taskCount;i++) { pool.Execute(new Task(()=>{ completedTasksCount++; taskPayloadProvider.Invoke().Invoke(); }), (Priority) random.Next(0, 2)); } pool.Stop(); Assert.AreEqual(taskCount,completedTasksCount); }
public void TasksConsistencyTest(int threadCount, int taskCount, Func <Action> taskPayloadProvider) { var pool = new ThreadPool.ThreadPool(threadCount); var random = new Random(); int completedTasksCount = 0; for (int i = 0; i < taskCount; i++) { pool.Execute(new Task(() => { completedTasksCount++; taskPayloadProvider.Invoke().Invoke(); }), (Priority)random.Next(0, 2)); } pool.Stop(); Assert.AreEqual(taskCount, completedTasksCount); }
public void TasksPriorityTest() { var pool = new ThreadPool.ThreadPool(2); var random = new Random(); var priorityChecker = new PrioritySequenceChecker(); for (int i = 0; i < 100; i++) { var priority = (Priority)random.Next(0, 2); priorityChecker.BuildSequence(priority); var task = new Task(() => { Thread.Sleep(random.Next(10,20)); Assert.AreEqual(true, priorityChecker.CheckSequence(priority)); }); pool.Execute(task, priority); } pool.Stop(); }
public void TasksPriorityTest() { var pool = new ThreadPool.ThreadPool(2); var random = new Random(); var priorityChecker = new PrioritySequenceChecker(); for (int i = 0; i < 100; i++) { var priority = (Priority)random.Next(0, 2); priorityChecker.BuildSequence(priority); var task = new Task(() => { Thread.Sleep(random.Next(10, 20)); Assert.AreEqual(true, priorityChecker.CheckSequence(priority)); }); pool.Execute(task, priority); } pool.Stop(); }