示例#1
0
		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 ();
		}
示例#2
0
		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;
		}