public void ScheduleOnceOnNowAsyncExceptionTest()
 {
     _taskScheduler.ScheduleOnceOnNow(async() =>
     {
         await Task.Delay(10);
         BadMethod();
     });
     Thread.Sleep(1000);
 }
        public void TaskCountingOneTimeTasksTest()
        {
            using (var taskScheduler2 = new TaskScheduler(Mock.Of <IShamanLogger>()))
            {
                _taskScheduler.ScheduleOnceOnNow(() => { Thread.Sleep(100); });
                _taskScheduler.ScheduleOnceOnNow(() => { Thread.Sleep(100); });
                taskScheduler2.ScheduleOnceOnNow(() => { Thread.Sleep(100); });
                taskScheduler2.ScheduleOnceOnNow(() => { Thread.Sleep(100); });

                TaskScheduler.GetGlobalScheduledOnceTasksCount().Should().Be(4);

                taskScheduler2.ScheduleOnceOnNow(() => { Thread.Sleep(100); });

                TaskScheduler.GetGlobalScheduledOnceTasksCount().Should().Be(5);

                Thread.Sleep(150);

                TaskScheduler.GetGlobalScheduledOnceTasksCount().Should().Be(0);
            }
        }