/// <summary> /// Searches recursively in the test containers until a /// real ModuleActivity is found that includes error messages. /// </summary> /// <param name="container"></param> /// <returns></returns> private string RecSearchContainer(ITestContainerActivity container) { string error = ""; foreach (var containerChild in container.Children) { var subContainer = containerChild as ITestContainerActivity; if (subContainer != null) { error = this.RecSearchContainer(subContainer); } var module = containerChild as ITestModuleActivity; if (module != null) { error = this.GetFirstModuleError(module.Children); } // if we have found a result, then return it if (!string.IsNullOrEmpty(error)) { break; } } return(error); }
/// <summary> /// Recursively collects all error messages from given test container /// </summary> /// <param name="container"></param> private static void GetErrorMessages(ITestContainerActivity container) { foreach (var containerChild in container.Children) { // Check if TestContainerActivity var testContainerActivity = containerChild as ITestContainerActivity; if (testContainerActivity != null) { GetErrorMessages(testContainerActivity); } // Check if TestModuleActivity var testModuleActivity = containerChild as ITestModuleActivity; if (testModuleActivity != null) { AddErrorMessages( testModuleActivity.TestModuleName, container.FullDisplayName, testModuleActivity.Children); } } }
/// <summary> /// /// </summary> /// <param name="rootContainer"></param> public TestResultReader(ITestContainerActivity rootContainer) { this.rootContainer = rootContainer; }