public void GetTopOfChain_ReturnsTopTaskWhenNotStarted() { var task1 = new TPLTask(TaskEx.FromResult(true)); var task2 = new TestActionTask(Token, _ => { }); var task3 = new TestActionTask(Token, _ => { }); task1.Then(task2).Then(task3); var top = task3.GetTopOfChain(); Assert.AreSame(task1, top); }
public void GetTopOfChain_ReturnsTopTaskWhenNotStarted() { using (var test = StartTest()) { var task1 = new TPLTask(test.TaskManager, () => Task.FromResult(true)); var task2 = new TestActionTask(test.TaskManager, _ => { }); var task3 = new TestActionTask(test.TaskManager, _ => { }); task1.Then(task2).Then(task3); var top = task3.GetTopOfChain(); Assert.AreSame(task1, top); } }
public async Task GetTopOfChain_ReturnsTopMostInCreatedState() { 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.GetTopOfChain(); Assert.AreSame(task2, top); }
public IEnumerator GetTopOfChain_ReturnsTopMostInCreatedState() { 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.GetTopOfChain(); Assert.AreSame(task2, top); } }