void RunIterate () { if (current != null) { if (!current.RunIterate ()) { BeginInvoke (RunIterate); return; } Result.AddResult (current.Result); } while (queue.Count > 0) { current = queue.Dequeue (); current.RunAsync (listener); if (!current.RunIterate ()) { BeginInvoke (RunIterate); return; } Result.AddResult (current.Result); } RunEnd (); }
void RunEnd () { if (TestCaseCount == 0) Result.NotRun ("Suite has no tests"); else if (Errors > 0 || Failures > 0) Result.Failure ("One or more component tests failed"); else Result.Success (); listener.TestFinished (Result); OnCompleted (null); current = null; }