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();
        }