private static IEnumerable <TestExecutionData> GetTestExecutionDataForGroup( XElement definition, Dictionary <string, ITestCase> prereqCasesDictionary, ITestCaseFactory testCaseFactory, IResourceManager resourceManager, TestCategory targetTestCategory) { IEnumerable <ITestCase> prereqs; IEnumerable <ITestCase> groupTestCases; testCaseFactory.GetTestCases(definition, prereqCasesDictionary, out prereqs, out groupTestCases, targetTestCategory); List <ITestCase> prereqList = prereqs.ToList(); return(groupTestCases.Select(testcase => new TestExecutionData(testcase, prereqList, resourceManager, (string)definition.Attribute("Name")))); }
/// <summary> /// Parses run configuration XML file to get ExecutionData. /// </summary> public static IEnumerable <TestExecutionData> ParseExecutionData( string filePath, IResourceManagerFactory resourceManagerFactory, ITestCaseFactory testCaseFactory, string testGroupName, TestCategory targetTestCategory) { XDocument xDoc = XDocument.Load(filePath); XElement resourcesElement = xDoc.Root.Element("Resources"); IResourceManager resourceManager = resourceManagerFactory.GetResourceManager(resourcesElement); XElement prereqCasesElement = xDoc.Root.Element("PrereqCases") ?? new XElement("PrereqCases"); IEnumerable <ITestCase> prereqCases = testCaseFactory.GetTestCases(prereqCasesElement, targetTestCategory); Dictionary <string, ITestCase> prereqCasesDictionary = prereqCases.ToDictionary(e => e.Name); return(xDoc.Root.Elements("TestGroup") .SelectMany(x => GetTestExecutionDataForGroup(x, prereqCasesDictionary, testCaseFactory, resourceManager, targetTestCategory))); }