private static void ItemProcessingTask_Simple_Core() { var proc = new ItemProcessor(); var task = new ItemProcessingTask(proc); Assert.AreEqual(2, task.Priority); Assert.IsFalse(task.IsRunnable); task.RecalculatePriority(); Assert.IsFalse(task.IsRunnable); proc.Add(); Assert.IsTrue(task.IsRunnable); using var s = PhysicalScheduler.Create(); using var l = new LogicalScheduler(s); l.Schedule(task); proc.Events[0].WaitOne(); proc.Add(); l.RecalculatePriority(); proc.Events[1].WaitOne(); }