public async Task CanExecuteNotEnabledTaskIfForceRunFlagSet()
        {
            TestScheduleTask.ResetInitFlag();
            TestScheduleTask.IsInit.Should().BeFalse();
            _task.Enabled = false;
            await _scheduleTaskRunner.ExecuteAsync(_task, true, ensureRunOncePerPeriod : false);

            TestScheduleTask.IsInit.Should().BeTrue();
        }
        public async Task CanExecute()
        {
            _task.Enabled = true;
            TestScheduleTask.ResetInitFlag();
            TestScheduleTask.IsInit.Should().BeFalse();
            await _scheduleTaskRunner.ExecuteAsync(_task, ensureRunOncePerPeriod : false);

            TestScheduleTask.IsInit.Should().BeTrue();
        }
        public async Task CanNotExecuteMultipleTimeIfEnsureRunOncePerPeriodFlagNotSet()
        {
            TestScheduleTask.ResetInitFlag();
            TestScheduleTask.IsInit.Should().BeFalse();
            _task.Enabled = true;
            await _scheduleTaskRunner.ExecuteAsync(_task, ensureRunOncePerPeriod : false);

            TestScheduleTask.IsInit.Should().BeTrue();

            TestScheduleTask.ResetInitFlag();
            TestScheduleTask.IsInit.Should().BeFalse();
            await _scheduleTaskRunner.ExecuteAsync(_task, ensureRunOncePerPeriod : true);

            TestScheduleTask.IsInit.Should().BeFalse();
        }