public async Task GivenTask_Run_TaskMustBeRun() { var mgr = new NullAsyncDownloadManager(); var val = -1; Func <Task> setTask = () => Task.FromResult(val = 1); mgr.Add(new DownloadTask(new Func <Task>[] { setTask })); mgr.Start(); await Task.Delay(100); mgr.Stop(); await mgr.Task; Assert.AreEqual(1, val); }
public async Task WhenStart_Stop_Exception_Complated_CallbackWasRaised() { var mgr = new NullAsyncDownloadManager(); mgr.Start(); Assert.IsTrue(mgr.IsOnStart); mgr.Stop(); Assert.IsTrue(mgr.IsOnStop); Func <Task> setTask = () => throw new Exception(); mgr.Add(new DownloadTask(new Func <Task>[] { setTask })); mgr.Start(); await Task.Delay(500); mgr.Stop(); await mgr.Task; Assert.IsTrue(mgr.IsOnException); Assert.IsTrue(mgr.IsOnComplated); }