コード例 #1
0
        public void Execute_WithAnyAsyncAction_ShouldReturnImmediately()
        {
            var executer = new WorkExecuter();

            Action act = () => executer.Execute(async() => await Task.Delay(5000));

            act.ExecutionTime().Should().BeLessThan(1.Seconds());
        }
コード例 #2
0
        public void Execute_WithAnyAction_ShouldReturnImmediately()
        {
            var executer = new WorkExecuter();

            Action act = () => executer.Execute(() => Thread.Sleep(5000));

            act.ExecutionTime().Should().BeLessThan(1.Seconds());
        }
コード例 #3
0
        public async Task Execute_WithAnyAction_ShouldRaisePropertyChanged()
        {
            var executer = new WorkExecuter();

            using (var monitor = executer.Monitor())
            {
                await executer.Execute(() => { });

                monitor.GetEventRecorder(nameof(executer.PropertyChanged)).Should().NotBeEmpty();
            }
        }
コード例 #4
0
        public async Task Execute_WithAnyAction_ShouldSetIsWorking()
        {
            var executer = new WorkExecuter();

            var task = executer.Execute(() => Thread.Sleep(5000));

            executer.IsWorking.Should().BeTrue();

            await task;

            executer.IsWorking.Should().BeFalse();
        }