public void GetFirstStartableTask_ReturnsTopTaskWhenNotStarted() { var task1 = new ActionTask(Token, () => { }); var task2 = new TestActionTask(Token, _ => { }); var task3 = new TestActionTask(Token, _ => { }); task1.Then(task2).Then(task3); var top = task3.Test_GetFirstStartableTask(); Assert.AreSame(task1, top); }
public void GetFirstStartableTask_ReturnsTopTaskWhenNotStarted() { using (var test = StartTest()) { var task1 = new ActionTask(test.TaskManager, () => { }); var task2 = new TestActionTask(test.TaskManager, _ => { }); var task3 = new TestActionTask(test.TaskManager, _ => { }); task1.Then(task2).Then(task3); var top = task3.Test_GetFirstStartableTask(); Assert.AreSame(task1, top); } }
public async Task GetFirstStartableTask_ReturnsNullWhenItsAlreadyStarted() { var task1 = new ActionTask(Token, () => { }); await task1.StartAwait(); var task2 = new TestActionTask(Token, _ => { }); var task3 = new TestActionTask(Token, _ => { }); task1.Then(task2).Then(task3); var top = task3.Test_GetFirstStartableTask(); Assert.AreSame(task2, top); }
public IEnumerator GetFirstStartableTask_ReturnsNullWhenItsAlreadyStarted() { using (var test = StartTest()) { var task = new ActionTask(test.TaskManager, () => { }); // wait for the tasks to finish foreach (var frame in StartAndWaitForCompletion(task)) { yield return(frame); } var task2 = new TestActionTask(test.TaskManager, _ => { }); var task3 = new TestActionTask(test.TaskManager, _ => { }); task.Then(task2).Then(task3); var top = task3.Test_GetFirstStartableTask(); Assert.AreSame(null, top); } }