/// <summary> /// /// </summary> /// <returns></returns> public override bool Invoke() // return false when complete + event { if (_tasks.Count == 0) { if (_finishWhenEmpty) { TestWorkItemComplete(); return(false); } else { return(true); /* still running, doing nothing explicitly */ } } ITestWorkItem tt = _tasks.Peek(); if (tt == null) { throw new NullReferenceException(); } if (false == tt.Invoke()) { Dequeue(); } return(HasTasks()); }
/// <summary> /// /// </summary> /// <param name="testTask"></param> public void Enqueue(ITestWorkItem testTask) { _tasks.Enqueue(testTask); }