public XElement GetTestResultsAsXelement(ISearchCmdletBaseDataObject searchCriteria, List<ITestSuite> suites) { var gathered = new GatherTestResultsCollections(); gathered.GatherCollections(searchCriteria, suites); var suitesElement = CreateSuitesXElementWithParameters(gathered.TestSuites, gathered.TestScenarios, gathered.TestResults, (new XMLElementsNativeStruct())); return suitesElement; }
public void GatherCollections(ISearchCmdletBaseDataObject searchCriteria, List<ITestSuite> suitesForSearch) { var testResultsSearcher = new TestResultsSearcher(); TestSuites = testResultsSearcher.SearchForSuites(searchCriteria, suitesForSearch); TestScenarios = testResultsSearcher.SearchForScenarios(searchCriteria, suitesForSearch); TestResults = testResultsSearcher.SearchForTestResults(searchCriteria, suitesForSearch); }
public virtual void GatherCollections(ISearchCmdletBaseDataObject searchCriteria, List<ITestSuite> suitesForSearch) { // 20150925 // var testResultsSearcher = new TestResultsSearcher(); var testResultsSearcher = ProxyFactory.Get<TestResultsSearcher>(); TestSuites = testResultsSearcher.SearchForSuites(searchCriteria, suitesForSearch); TestScenarios = testResultsSearcher.SearchForScenarios(searchCriteria, suitesForSearch); TestResults = testResultsSearcher.SearchForTestResults(searchCriteria, suitesForSearch); }
public XDocument GetTestResultsAsXdocument(ISearchCmdletBaseDataObject searchCriteria, List<ITestSuite> suites, List<ITestPlatform> platforms) { var suitesElement = GetTestResultsAsXelement(searchCriteria, suites); var platformsElement = GetTestPlatformsAsXelement(new XMLElementsNativeStruct(), platforms); var document = new XDocument(new XDeclaration("1.0", "utf-8", "yes")); var rootElement = new XElement("results", platformsElement, suitesElement); document.Add(rootElement); return document; }
public virtual void GatherCollections(ISearchCmdletBaseDataObject searchCriteria, List <ITestSuite> suitesForSearch) { // 20150925 // var testResultsSearcher = new TestResultsSearcher(); var testResultsSearcher = ProxyFactory.Get <TestResultsSearcher>(); TestSuites = testResultsSearcher.SearchForSuites(searchCriteria, suitesForSearch); TestScenarios = testResultsSearcher.SearchForScenarios(searchCriteria, suitesForSearch); TestResults = testResultsSearcher.SearchForTestResults(searchCriteria, suitesForSearch); }
public XDocument GetTestResultsAsXdocument(ISearchCmdletBaseDataObject searchCriteria, List <ITestSuite> suites, List <ITestPlatform> platforms) { var suitesElement = GetTestResultsAsXelement(searchCriteria, suites); var platformsElement = GetTestPlatformsAsXelement(new XMLElementsNativeStruct(), platforms); var document = new XDocument(new XDeclaration("1.0", "utf-8", "yes")); var rootElement = new XElement("results", platformsElement, suitesElement); document.Add(rootElement); return(document); }
public XElement GetTestResultsAsXelement(ISearchCmdletBaseDataObject searchCriteria, List <ITestSuite> suites) { // 20150925 // var gathered = new GatherTestResultsCollections(); var gathered = ProxyFactory.Get <GatherTestResultsCollections>(); gathered.GatherCollections(searchCriteria, suites); var suitesElement = CreateSuitesXElementWithParameters(gathered.TestSuites, gathered.TestScenarios, gathered.TestResults, (new XMLElementsNativeStruct())); return(suitesElement); }
public virtual void GatherCollections(ISearchCmdletBaseDataObject searchCriteria) { // IOrderedEnumerable<ITestSuite> suites = TmxHelper.SearchForSuites(searchCriteria); // TestSuites = suites; TestSuites = TmxHelper.SearchForSuites(searchCriteria); // IOrderedEnumerable<ITestScenario> scenarios = TmxHelper.SearchForScenarios(searchCriteria); // TestScenarios = scenarios; TestScenarios = TmxHelper.SearchForScenarios(searchCriteria); // IOrderedEnumerable<ITestResult> testResults = TmxHelper.SearchForTestResults(searchCriteria); // TestResults = testResults; TestResults = TmxHelper.SearchForTestResults(searchCriteria); }
public virtual void ExportResultsToXml(ISearchCmdletBaseDataObject cmdlet, string path, List <ITestSuite> suites, List <ITestPlatform> platforms) { try { var document = GetTestResultsAsXdocument(cmdlet, suites, platforms); document.Save(path); } catch (Exception eCreateDocument) { throw new Exception( "Unable to save XML report to the file '" + path + "'. " + eCreateDocument.Message); } }
public virtual void GatherCollections(ISearchCmdletBaseDataObject searchCriteria) { // IOrderedEnumerable<ITestSuite> suites = TmxHelper.SearchForSuites(searchCriteria); // TestSuites = suites; TestSuites = TmxHelper.SearchForSuites(searchCriteria); // IOrderedEnumerable<ITestScenario> scenarios = TmxHelper.SearchForScenarios(searchCriteria); // TestScenarios = scenarios; TestScenarios = TmxHelper.SearchForScenarios(searchCriteria); // IOrderedEnumerable<ITestResult> testResults = TmxHelper.SearchForTestResults(searchCriteria); // TestResults = testResults; TestResults = TmxHelper.SearchForTestResults(searchCriteria); }
public void ExportResultsToXml(ISearchCmdletBaseDataObject cmdlet, string path, List<ITestSuite> suites, List<ITestPlatform> platforms) { try { var document = GetTestResultsAsXdocument(cmdlet, suites, platforms); document.Save(path); } catch (Exception eCreateDocument) { throw new Exception( "Unable to save XML report to the file '" + path + "'. " + eCreateDocument.Message); } }
public static void ExportResultsToJUnitXML(ISearchCmdletBaseDataObject cmdlet, string path) { try { // 20150925 // var gathered = new GatherTestResultsCollections(); var gathered = ProxyFactory.Get <GatherTestResultsCollections>(); gathered.GatherCollections(cmdlet); // 20150925 // var testResultsExporter = new TestResultsExporter(); var testResultsExporter = ProxyFactory.Get <TestResultsExporter>(); var suitesElement = testResultsExporter.CreateSuitesXElementWithParameters( gathered.TestSuites, gathered.TestScenarios, gathered.TestResults, (new XMLElementsJUnitStruct())); var document = new XDocument(); document.Add(suitesElement); document.Save(path); } catch (Exception eCreateDocument) { // 20140720 // cmdlet.WriteError( // cmdlet, // "Unable to save XML report to the file '" + // path + // "'. " + // eCreateDocument.Message, // "FailedToSaveReport", // ErrorCategory.InvalidOperation, // true); throw new Exception( "Unable to save XML report to the file '" + path + "'. " + eCreateDocument.Message); } }
// public static bool ImportTestStructure(string path) // { // bool result = false; // // // return result; // } // public static bool ExportTestStructure(string path) // { // bool result = false; // // // return result; // } #endregion Import/export test structure #region Search /// <summary> /// Performs parametrized search for Test Suites. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public static IOrderedEnumerable<ITestSuite> SearchForSuites(ISearchCmdletBaseDataObject cmdlet) { IOrderedEnumerable<ITestSuite> suites = null; // 20141107 var testStatistics = new TestStatistics(); // Filtering results // default result Func<ITestSuite, bool> query = suite => true; // System.Collections.Generic.List<Func<TestSuite, bool>> queriesList = // new List<Func<TestSuite, bool>>(); // queriesList.Add(query); if (!string.IsNullOrEmpty(cmdlet.FilterNameContains)) { // if (cmdlet.FilterNameContains != null && cmdlet.FilterNameContains.Length > 0) { query = suite => suite.Name.Contains(cmdlet.FilterNameContains); //queriesList.Add((suite => suite.Name.Contains(cmdlet.FilterNameContains))); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterIdContains)) { // } else if (cmdlet.FilterIdContains != null && cmdlet.FilterIdContains.Length > 0) { query = suite => suite.Id.Contains(cmdlet.FilterIdContains); //queriesList.Add((suite => suite.Id.Contains(cmdlet.FilterIdContains))); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterDescriptionContains)) { // } else if (cmdlet.FilterDescriptionContains != null && cmdlet.FilterDescriptionContains.Length > 0) { query = suite => suite.Description != null && suite.Description.Contains(cmdlet.FilterDescriptionContains); //query = suite => //{ // return suite.Description != null && suite.Description.Contains(cmdlet.FilterDescriptionContains); // /* // if (suite.Description != null) { // return suite.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // */ //}; // queriesList.Add((suite => // { // if (suite.Description != null) { // return suite.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // })); cmdlet.FilterAll = false; } else if (cmdlet.FilterPassed) { query = suite => suite.enStatus == TestSuiteStatuses.Passed; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.Passed)); cmdlet.FilterAll = false; } else if (cmdlet.FilterFailed) { query = suite => suite.enStatus == TestSuiteStatuses.Failed; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.Failed)); cmdlet.FilterAll = false; } else if (cmdlet.FilterNotTested) { query = suite => suite.enStatus == TestSuiteStatuses.NotTested; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.NotTested)); cmdlet.FilterAll = false; } else if (cmdlet.FilterPassedWithBadSmell) { query = suite => suite.enStatus == TestSuiteStatuses.KnownIssue; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.KnownIssue)); cmdlet.FilterAll = false; } if (cmdlet.FilterAll) { query = suite => true; } if (cmdlet.FilterNone) { query = suite => false; //queriesList.Clear(); //queriesList.Add(query); } // Ordering results // default result // 20140720 // Func<TestSuite, object> ordering = suite => suite.Id; Func<ITestSuite, object> ordering = suite => suite.Id; if (cmdlet.OrderByTimeSpent) { ordering += suite => suite.Statistics.TimeSpent; } if (cmdlet.OrderByName) { ordering += suite => suite.Name; } if (cmdlet.OrderById) { ordering += suite => suite.Id; } if (cmdlet.OrderByPassRate) { ordering += suite => { //TestData.RefreshSuiteStatistics(suite); // 20141107 // TestData.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return (suite.Statistics.Passed / suite.Statistics.All); }; } if (cmdlet.OrderByFailRate) { ordering += suite => { //TestData.RefreshSuiteStatistics(suite); // 20141107 // TestData.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return (suite.Statistics.Failed / suite.Statistics.All); }; } // cmdlet.WriteVerbose(cmdlet, "query = " + query); // cmdlet.WriteVerbose(cmdlet, "ordering = " + ordering); suites = TestData.SearchTestSuite( query, //Combine<TestSuite, bool>((x, y) => x && y, queriesList.ToArray()), ordering, cmdlet.Descending); return suites; }
public static IOrderedEnumerable <ITestResult> SearchForTestResultsPS(ISearchCmdletBaseDataObject dataObject) { var testResults = SearchForTestResults(dataObject); return(testResults.Any() ? testResults : null); }
/// <summary> /// Performs parametrized search for Test Results. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public static IOrderedEnumerable <ITestResult> SearchForTestResults(ISearchCmdletBaseDataObject dataObject) { IOrderedEnumerable <ITestResult> testResults = null; // Filtering results // default result Func <ITestResult, bool> query = testResult => true; dataObject.FilterAll = false; if (!string.IsNullOrEmpty(dataObject.FilterNameContains)) { // if (cmdlet.FilterNameContains != null && cmdlet.FilterNameContains.Length > 0) { query = testResult => testResult.Name != null && testResult.Name.Contains(dataObject.FilterNameContains); } //query = testResult => //{ // return testResult.Name != null && testResult.Name.Contains(cmdlet.FilterNameContains); // /* // if (testResult.Name != null) { // return testResult.Name.Contains(cmdlet.FilterNameContains); // } // return false; // */ //}; // dataObject.FilterAll = false; else if (!string.IsNullOrEmpty(dataObject.FilterIdContains)) { // } else if (cmdlet.FilterIdContains != null && cmdlet.FilterIdContains.Length > 0) { query = testResult => testResult.Id != null && testResult.Id.Contains(dataObject.FilterIdContains); } //query = testResult => //{ // return testResult.Id != null && testResult.Id.Contains(cmdlet.FilterIdContains); // /* // if (testResult.Id != null) { // return testResult.Id.Contains(cmdlet.FilterIdContains); // } // return false; // */ //}; // dataObject.FilterAll = false; else if (!string.IsNullOrEmpty(dataObject.FilterDescriptionContains)) { // } else if (cmdlet.FilterDescriptionContains != null && cmdlet.FilterDescriptionContains.Length > 0) { query = testResult => testResult.Description != null && testResult.Description.Contains(dataObject.FilterDescriptionContains); } //query = testResult => //{ // return testResult.Description != null && testResult.Description.Contains(cmdlet.FilterDescriptionContains); // /* // if (testResult.Description != null) { // return testResult.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // */ //}; // dataObject.FilterAll = false; else if (dataObject.FilterPassed) { // 20150805 // query = testResult => testResult.enStatus == TestResultStatuses.Passed; query = testResult => testResult.enStatus == TestStatuses.Passed; } // dataObject.FilterAll = false; else if (dataObject.FilterFailed) { // 20150805 // query = testResult => testResult.enStatus == TestResultStatuses.Failed; query = testResult => testResult.enStatus == TestStatuses.Failed; } // dataObject.FilterAll = false; else if (dataObject.FilterNotTested) { // 20150805 // query = testResult => testResult.enStatus == TestResultStatuses.NotTested; query = testResult => testResult.enStatus == TestStatuses.NotRun; } // dataObject.FilterAll = false; else if (dataObject.FilterPassedWithBadSmell) { // 20150805 // query = testResult => testResult.enStatus == TestResultStatuses.KnownIssue; query = testResult => testResult.enStatus == TestStatuses.KnownIssue; } // dataObject.FilterAll = false; else if (dataObject.FilterOutAutomaticResults) { query = testResult => testResult.Origin != TestResultOrigins.Automatic; } // dataObject.FilterAll = false; else if (dataObject.FilterOutAutomaticAndTechnicalResults) { query = testResult => testResult.Origin != TestResultOrigins.Automatic && testResult.Origin != TestResultOrigins.Technical; } // dataObject.FilterAll = false; if (dataObject.FilterAll) { query = testResult => true; // 20140722 dataObject.FilterAll = true; } if (dataObject.FilterNone) { query = testResult => false; } // Ordering results // default result // 20140720 // Func<TestResult, object> ordering = testResult => testResult.Id; Func <ITestResult, object> ordering = testResult => testResult.Id; if (dataObject.OrderByTimeSpent) { ordering = testResult => testResult.TimeSpent; } else if (dataObject.OrderByDateTime) { ordering = testResult => testResult.Timestamp; } else if (dataObject.OrderByName) { ordering = testResult => testResult.Name; } else if (dataObject.OrderById) { ordering = testResult => testResult.Id; } testResults = TestData.SearchTestResult( query, ordering, dataObject.Descending); return(testResults); }
public static IOrderedEnumerable <ITestScenario> SearchForScenariosPS(ISearchCmdletBaseDataObject cmdlet) { var scenarios = SearchForScenarios(cmdlet); return(scenarios.Any() ? scenarios : null); }
public static void ImportResultsFromJUnitXML(ISearchCmdletBaseDataObject cmdlet, string path) { throw new NotImplementedException(); }
/// <summary> /// Performs parametrized search for Test Suites. /// </summary> /// <param name="cmdlet"></param> /// <param name="suitesForSearch"></param> /// <returns></returns> public virtual IOrderedEnumerable <ITestSuite> SearchForSuites(ISearchCmdletBaseDataObject cmdlet, List <ITestSuite> suitesForSearch) { IOrderedEnumerable <ITestSuite> suitesFound = null; // 20141107 // 20150925 // var testStatistics = new TestStatistics(); var testStatistics = ProxyFactory.Get <TestStatistics>(); // Filtering results // default result Func <ITestSuite, bool> query = suite => true; if (!string.IsNullOrEmpty(cmdlet.FilterNameContains)) { query = suite => suite.Name.Contains(cmdlet.FilterNameContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterIdContains)) { query = suite => suite.Id.Contains(cmdlet.FilterIdContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterDescriptionContains)) { query = suite => suite.Description != null && suite.Description.Contains(cmdlet.FilterDescriptionContains); cmdlet.FilterAll = false; } else if (cmdlet.FilterPassed) { // 20150805 // query = suite => suite.enStatus == TestSuiteStatuses.Passed; query = suite => suite.enStatus == TestStatuses.Passed; cmdlet.FilterAll = false; } else if (cmdlet.FilterFailed) { // 20150805 // query = suite => suite.enStatus == TestSuiteStatuses.Failed; query = suite => suite.enStatus == TestStatuses.Failed; cmdlet.FilterAll = false; } else if (cmdlet.FilterNotTested) { // 20150805 // query = suite => suite.enStatus == TestSuiteStatuses.NotTested; query = suite => suite.enStatus == TestStatuses.NotRun; cmdlet.FilterAll = false; } else if (cmdlet.FilterPassedWithBadSmell) { // 20150805 // query = suite => suite.enStatus == TestSuiteStatuses.KnownIssue; query = suite => suite.enStatus == TestStatuses.KnownIssue; cmdlet.FilterAll = false; } if (cmdlet.FilterAll) { query = suite => true; } if (cmdlet.FilterNone) { query = suite => false; } // Ordering results // default result Func <ITestSuite, object> ordering = suite => suite.Id; if (cmdlet.OrderByTimeSpent) { ordering += suite => suite.Statistics.TimeSpent; } if (cmdlet.OrderByName) { ordering += suite => suite.Name; } if (cmdlet.OrderById) { ordering += suite => suite.Id; } if (cmdlet.OrderByPassRate) { ordering += suite => { testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return(suite.Statistics.Passed / suite.Statistics.All); }; } if (cmdlet.OrderByFailRate) { ordering += suite => { testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return(suite.Statistics.Failed / suite.Statistics.All); }; } suitesFound = SearchTestSuite( suitesForSearch, query, //Combine<TestSuite, bool>((x, y) => x && y, queriesList.ToArray()), ordering, cmdlet.Descending); return(suitesFound); }
/// <summary> /// Performs parametrized search for Test Results. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public static IOrderedEnumerable<ITestResult> SearchForTestResults(ISearchCmdletBaseDataObject dataObject) { IOrderedEnumerable<ITestResult> testResults = null; // Filtering results // default result Func<ITestResult, bool> query = testResult => true; dataObject.FilterAll = false; if (!string.IsNullOrEmpty(dataObject.FilterNameContains)) // if (cmdlet.FilterNameContains != null && cmdlet.FilterNameContains.Length > 0) { query = testResult => testResult.Name != null && testResult.Name.Contains(dataObject.FilterNameContains); //query = testResult => //{ // return testResult.Name != null && testResult.Name.Contains(cmdlet.FilterNameContains); // /* // if (testResult.Name != null) { // return testResult.Name.Contains(cmdlet.FilterNameContains); // } // return false; // */ //}; // dataObject.FilterAll = false; else if (!string.IsNullOrEmpty(dataObject.FilterIdContains)) // } else if (cmdlet.FilterIdContains != null && cmdlet.FilterIdContains.Length > 0) { query = testResult => testResult.Id != null && testResult.Id.Contains(dataObject.FilterIdContains); //query = testResult => //{ // return testResult.Id != null && testResult.Id.Contains(cmdlet.FilterIdContains); // /* // if (testResult.Id != null) { // return testResult.Id.Contains(cmdlet.FilterIdContains); // } // return false; // */ //}; // dataObject.FilterAll = false; else if (!string.IsNullOrEmpty(dataObject.FilterDescriptionContains)) // } else if (cmdlet.FilterDescriptionContains != null && cmdlet.FilterDescriptionContains.Length > 0) { query = testResult => testResult.Description != null && testResult.Description.Contains(dataObject.FilterDescriptionContains); //query = testResult => //{ // return testResult.Description != null && testResult.Description.Contains(cmdlet.FilterDescriptionContains); // /* // if (testResult.Description != null) { // return testResult.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // */ //}; // dataObject.FilterAll = false; else if (dataObject.FilterPassed) query = testResult => testResult.enStatus == TestResultStatuses.Passed; // dataObject.FilterAll = false; else if (dataObject.FilterFailed) query = testResult => testResult.enStatus == TestResultStatuses.Failed; // dataObject.FilterAll = false; else if (dataObject.FilterNotTested) query = testResult => testResult.enStatus == TestResultStatuses.NotTested; // dataObject.FilterAll = false; else if (dataObject.FilterPassedWithBadSmell) query = testResult => testResult.enStatus == TestResultStatuses.KnownIssue; // dataObject.FilterAll = false; else if (dataObject.FilterOutAutomaticResults) query = testResult => testResult.Origin != TestResultOrigins.Automatic; // dataObject.FilterAll = false; else if (dataObject.FilterOutAutomaticAndTechnicalResults) query = testResult => testResult.Origin != TestResultOrigins.Automatic && testResult.Origin != TestResultOrigins.Technical; // dataObject.FilterAll = false; if (dataObject.FilterAll) { query = testResult => true; // 20140722 dataObject.FilterAll = true; } if (dataObject.FilterNone) { query = testResult => false; } // Ordering results // default result // 20140720 // Func<TestResult, object> ordering = testResult => testResult.Id; Func<ITestResult, object> ordering = testResult => testResult.Id; if (dataObject.OrderByTimeSpent) ordering = testResult => testResult.TimeSpent; else if (dataObject.OrderByDateTime) ordering = testResult => testResult.Timestamp; else if (dataObject.OrderByName) ordering = testResult => testResult.Name; else if (dataObject.OrderById) ordering = testResult => testResult.Id; testResults = TestData.SearchTestResult( query, ordering, dataObject.Descending); return testResults; }
/// <summary> /// Performs parametrized search for Test Results. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public IOrderedEnumerable<ITestResult> SearchForTestResults(ISearchCmdletBaseDataObject dataObject, List<ITestSuite> suitesForSearch) { IOrderedEnumerable<ITestResult> testResults = null; // Filtering results // default result Func<ITestResult, bool> query = testResult => true; dataObject.FilterAll = false; if (!string.IsNullOrEmpty(dataObject.FilterNameContains)) query = testResult => testResult.Name != null && testResult.Name.Contains(dataObject.FilterNameContains); else if (!string.IsNullOrEmpty(dataObject.FilterIdContains)) query = testResult => testResult.Id != null && testResult.Id.Contains(dataObject.FilterIdContains); else if (!string.IsNullOrEmpty(dataObject.FilterDescriptionContains)) query = testResult => testResult.Description != null && testResult.Description.Contains(dataObject.FilterDescriptionContains); else if (dataObject.FilterPassed) query = testResult => testResult.enStatus == TestResultStatuses.Passed; else if (dataObject.FilterFailed) query = testResult => testResult.enStatus == TestResultStatuses.Failed; else if (dataObject.FilterNotTested) query = testResult => testResult.enStatus == TestResultStatuses.NotTested; else if (dataObject.FilterPassedWithBadSmell) query = testResult => testResult.enStatus == TestResultStatuses.KnownIssue; else if (dataObject.FilterOutAutomaticResults) query = testResult => testResult.Origin != TestResultOrigins.Automatic; else if (dataObject.FilterOutAutomaticAndTechnicalResults) query = testResult => testResult.Origin != TestResultOrigins.Automatic && testResult.Origin != TestResultOrigins.Technical; if (dataObject.FilterAll) { query = testResult => true; dataObject.FilterAll = true; } if (dataObject.FilterNone) { query = testResult => false; } // Ordering results // default result Func<ITestResult, object> ordering = testResult => testResult.Id; if (dataObject.OrderByTimeSpent) ordering = testResult => testResult.TimeSpent; else if (dataObject.OrderByDateTime) ordering = testResult => testResult.Timestamp; else if (dataObject.OrderByName) ordering = testResult => testResult.Name; else if (dataObject.OrderById) ordering = testResult => testResult.Id; testResults = SearchTestResult( suitesForSearch, query, ordering, dataObject.Descending); return testResults; }
public static IOrderedEnumerable<ITestSuite> SearchForSuitesPS(ISearchCmdletBaseDataObject cmdlet) { IOrderedEnumerable<ITestSuite> suites = SearchForSuites(cmdlet); return suites.Any() ? suites : null; }
public static IOrderedEnumerable<ITestResult> SearchForTestResultsPS(ISearchCmdletBaseDataObject dataObject) { var testResults = SearchForTestResults(dataObject); return testResults.Any() ? testResults : null; }
// public static Func<TInput, bool> Combine<TInput, Tout> // (Func<bool, bool, bool> aggregator, // params Func<TInput, bool>[] delegates) { // // // delegates[0] provides the initial value // return t => delegates.Skip(1).Aggregate(delegates[0](t), aggregator); // } // //// public static Func<T, bool> And<T>(params Func<T, bool>[] predicates) { //// return Combine<T, bool>((x, y) => x && y, predicates); //// } /// <summary> /// Performs parametrized search for Test Scenarios. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> // 20140720 // public static IOrderedEnumerable<TestScenario> SearchForScenarios(SearchCmdletBase cmdlet) public static IOrderedEnumerable<ITestScenario> SearchForScenarios(ISearchCmdletBaseDataObject cmdlet) { // 20140720 // IOrderedEnumerable<TestScenario> scenarios = null; IOrderedEnumerable<ITestScenario> scenarios = null; // Filtering results // default result // 20140720 // Func<TestScenario, bool> query = scenario => true; Func<ITestScenario, bool> query = scenario => true; if (!string.IsNullOrEmpty(cmdlet.FilterNameContains)) { // if (cmdlet.FilterNameContains != null && cmdlet.FilterNameContains.Length > 0) { query = scenario => scenario.Name.Contains(cmdlet.FilterNameContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterIdContains)) { // } else if (cmdlet.FilterIdContains != null && cmdlet.FilterIdContains.Length > 0) { query = scenario => scenario.Id.Contains(cmdlet.FilterIdContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterDescriptionContains)) { // } else if (cmdlet.FilterDescriptionContains != null && cmdlet.FilterDescriptionContains.Length > 0) { query = scenario => scenario.Description != null && scenario.Description.Contains(cmdlet.FilterDescriptionContains); //query = scenario => //{ // return scenario.Description != null && scenario.Description.Contains(cmdlet.FilterDescriptionContains); // /* // if (scenario.Description != null) { // return scenario.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // */ //}; cmdlet.FilterAll = false; } else if (cmdlet.FilterPassed) { query = scenario => scenario.enStatus == TestScenarioStatuses.Passed; cmdlet.FilterAll = false; } else if (cmdlet.FilterFailed) { query = scenario => scenario.enStatus == TestScenarioStatuses.Failed; cmdlet.FilterAll = false; } else if (cmdlet.FilterNotTested) { query = scenario => scenario.enStatus == TestScenarioStatuses.NotTested; cmdlet.FilterAll = false; } else if (cmdlet.FilterPassedWithBadSmell) { query = scenario => scenario.enStatus == TestScenarioStatuses.KnownIssue; cmdlet.FilterAll = false; } if (cmdlet.FilterAll) { query = scenario => true; } if (cmdlet.FilterNone) { query = scenario => false; } // Ordering results // default result // 20140720 // Func<TestScenario, object> ordering = scenario => scenario.Id; Func<ITestScenario, object> ordering = scenario => scenario.Id; if (cmdlet.OrderByTimeSpent) { ordering = scenario => scenario.Statistics.TimeSpent; } else if (cmdlet.OrderByName) { ordering = scenario => scenario.Name; } else if (cmdlet.OrderById) { ordering = scenario => scenario.Id; } else if (cmdlet.OrderByPassRate) { ordering = scenario => scenario.Statistics.Passed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } else if (cmdlet.OrderByFailRate) { ordering = scenario => scenario.Statistics.Failed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } // cmdlet.WriteVerbose(cmdlet, "query = " + query); // cmdlet.WriteVerbose(cmdlet, "ordering = " + ordering); scenarios = TestData.SearchTestScenario( query, ordering, cmdlet.Descending); return scenarios; }
// public static Func<TInput, bool> Combine<TInput, Tout> // (Func<bool, bool, bool> aggregator, // params Func<TInput, bool>[] delegates) { // // // delegates[0] provides the initial value // return t => delegates.Skip(1).Aggregate(delegates[0](t), aggregator); // } // //// public static Func<T, bool> And<T>(params Func<T, bool>[] predicates) { //// return Combine<T, bool>((x, y) => x && y, predicates); //// } /// <summary> /// Performs parametrized search for Test Scenarios. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> // 20140720 // public static IOrderedEnumerable<TestScenario> SearchForScenarios(SearchCmdletBase cmdlet) public static IOrderedEnumerable <ITestScenario> SearchForScenarios(ISearchCmdletBaseDataObject cmdlet) { // 20140720 // IOrderedEnumerable<TestScenario> scenarios = null; IOrderedEnumerable <ITestScenario> scenarios = null; // Filtering results // default result // 20140720 // Func<TestScenario, bool> query = scenario => true; Func <ITestScenario, bool> query = scenario => true; if (!string.IsNullOrEmpty(cmdlet.FilterNameContains)) { // if (cmdlet.FilterNameContains != null && cmdlet.FilterNameContains.Length > 0) { query = scenario => scenario.Name.Contains(cmdlet.FilterNameContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterIdContains)) { // } else if (cmdlet.FilterIdContains != null && cmdlet.FilterIdContains.Length > 0) { query = scenario => scenario.Id.Contains(cmdlet.FilterIdContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterDescriptionContains)) { // } else if (cmdlet.FilterDescriptionContains != null && cmdlet.FilterDescriptionContains.Length > 0) { query = scenario => scenario.Description != null && scenario.Description.Contains(cmdlet.FilterDescriptionContains); //query = scenario => //{ // return scenario.Description != null && scenario.Description.Contains(cmdlet.FilterDescriptionContains); // /* // if (scenario.Description != null) { // return scenario.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // */ //}; cmdlet.FilterAll = false; } else if (cmdlet.FilterPassed) { query = scenario => scenario.enStatus == TestStatuses.Passed; cmdlet.FilterAll = false; } else if (cmdlet.FilterFailed) { query = scenario => scenario.enStatus == TestStatuses.Failed; cmdlet.FilterAll = false; } else if (cmdlet.FilterNotTested) { query = scenario => scenario.enStatus == TestStatuses.NotRun; cmdlet.FilterAll = false; } else if (cmdlet.FilterPassedWithBadSmell) { query = scenario => scenario.enStatus == TestStatuses.KnownIssue; cmdlet.FilterAll = false; } if (cmdlet.FilterAll) { query = scenario => true; } if (cmdlet.FilterNone) { query = scenario => false; } // Ordering results // default result // 20140720 // Func<TestScenario, object> ordering = scenario => scenario.Id; Func <ITestScenario, object> ordering = scenario => scenario.Id; if (cmdlet.OrderByTimeSpent) { ordering = scenario => scenario.Statistics.TimeSpent; } else if (cmdlet.OrderByName) { ordering = scenario => scenario.Name; } else if (cmdlet.OrderById) { ordering = scenario => scenario.Id; } else if (cmdlet.OrderByPassRate) { ordering = scenario => scenario.Statistics.Passed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } else if (cmdlet.OrderByFailRate) { ordering = scenario => scenario.Statistics.Failed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } // cmdlet.WriteVerbose(cmdlet, "query = " + query); // cmdlet.WriteVerbose(cmdlet, "ordering = " + ordering); scenarios = TestData.SearchTestScenario( query, ordering, cmdlet.Descending); return(scenarios); }
public static IOrderedEnumerable<ITestScenario> SearchForScenariosPS(ISearchCmdletBaseDataObject cmdlet) { var scenarios = SearchForScenarios(cmdlet); return scenarios.Any() ? scenarios : null; }
public static void ExportResultsToJUnitXML(ISearchCmdletBaseDataObject cmdlet, string path) { try { var gathered = new GatherTestResultsCollections(); gathered.GatherCollections(cmdlet); var testResultsExporter = new TestResultsExporter(); var suitesElement = testResultsExporter.CreateSuitesXElementWithParameters( gathered.TestSuites, gathered.TestScenarios, gathered.TestResults, (new XMLElementsJUnitStruct())); var document = new XDocument(); document.Add(suitesElement); document.Save(path); } catch (Exception eCreateDocument) { // 20140720 // cmdlet.WriteError( // cmdlet, // "Unable to save XML report to the file '" + // path + // "'. " + // eCreateDocument.Message, // "FailedToSaveReport", // ErrorCategory.InvalidOperation, // true); throw new Exception( "Unable to save XML report to the file '" + path + "'. " + eCreateDocument.Message); } }
/// <summary> /// Performs parametrized search for Test Scenarios. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public IOrderedEnumerable<ITestScenario> SearchForScenarios(ISearchCmdletBaseDataObject searchCriteria, List<ITestSuite> suitesForSearch) { IOrderedEnumerable<ITestScenario> scenarios = null; // Filtering results // default result Func<ITestScenario, bool> query = scenario => true; if (!string.IsNullOrEmpty(searchCriteria.FilterNameContains)) { query = scenario => scenario.Name.Contains(searchCriteria.FilterNameContains); searchCriteria.FilterAll = false; } else if (!string.IsNullOrEmpty(searchCriteria.FilterIdContains)) { query = scenario => scenario.Id.Contains(searchCriteria.FilterIdContains); searchCriteria.FilterAll = false; } else if (!string.IsNullOrEmpty(searchCriteria.FilterDescriptionContains)) { query = scenario => scenario.Description != null && scenario.Description.Contains(searchCriteria.FilterDescriptionContains); searchCriteria.FilterAll = false; } else if (searchCriteria.FilterPassed) { query = scenario => scenario.enStatus == TestScenarioStatuses.Passed; searchCriteria.FilterAll = false; } else if (searchCriteria.FilterFailed) { query = scenario => scenario.enStatus == TestScenarioStatuses.Failed; searchCriteria.FilterAll = false; } else if (searchCriteria.FilterNotTested) { query = scenario => scenario.enStatus == TestScenarioStatuses.NotTested; searchCriteria.FilterAll = false; } else if (searchCriteria.FilterPassedWithBadSmell) { query = scenario => scenario.enStatus == TestScenarioStatuses.KnownIssue; searchCriteria.FilterAll = false; } if (searchCriteria.FilterAll) { query = scenario => true; } if (searchCriteria.FilterNone) { query = scenario => false; } // Ordering results // default result Func<ITestScenario, object> ordering = scenario => scenario.Id; if (searchCriteria.OrderByTimeSpent) { ordering = scenario => scenario.Statistics.TimeSpent; } else if (searchCriteria.OrderByName) { ordering = scenario => scenario.Name; } else if (searchCriteria.OrderById) { ordering = scenario => scenario.Id; } else if (searchCriteria.OrderByPassRate) { ordering = scenario => scenario.Statistics.Passed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } else if (searchCriteria.OrderByFailRate) { ordering = scenario => scenario.Statistics.Failed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } scenarios = SearchTestScenario( suitesForSearch, query, ordering, searchCriteria.Descending); return scenarios; }
public static void ImportResultsFromJUnitXML(ISearchCmdletBaseDataObject cmdlet, string path) { throw new NotImplementedException(); }
/// <summary> /// Performs parametrized search for Test Suites. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public IOrderedEnumerable<ITestSuite> SearchForSuites(ISearchCmdletBaseDataObject cmdlet, List<ITestSuite> suitesForSearch) { IOrderedEnumerable<ITestSuite> suitesFound = null; // 20141107 var testStatistics = new TestStatistics(); // Filtering results // default result Func<ITestSuite, bool> query = suite => true; if (!string.IsNullOrEmpty(cmdlet.FilterNameContains)) { query = suite => suite.Name.Contains(cmdlet.FilterNameContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterIdContains)) { query = suite => suite.Id.Contains(cmdlet.FilterIdContains); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterDescriptionContains)) { query = suite => suite.Description != null && suite.Description.Contains(cmdlet.FilterDescriptionContains); cmdlet.FilterAll = false; } else if (cmdlet.FilterPassed) { query = suite => suite.enStatus == TestSuiteStatuses.Passed; cmdlet.FilterAll = false; } else if (cmdlet.FilterFailed) { query = suite => suite.enStatus == TestSuiteStatuses.Failed; cmdlet.FilterAll = false; } else if (cmdlet.FilterNotTested) { query = suite => suite.enStatus == TestSuiteStatuses.NotTested; cmdlet.FilterAll = false; } else if (cmdlet.FilterPassedWithBadSmell) { query = suite => suite.enStatus == TestSuiteStatuses.KnownIssue; cmdlet.FilterAll = false; } if (cmdlet.FilterAll) { query = suite => true; } if (cmdlet.FilterNone) { query = suite => false; } // Ordering results // default result Func<ITestSuite, object> ordering = suite => suite.Id; if (cmdlet.OrderByTimeSpent) { ordering += suite => suite.Statistics.TimeSpent; } if (cmdlet.OrderByName) { ordering += suite => suite.Name; } if (cmdlet.OrderById) { ordering += suite => suite.Id; } if (cmdlet.OrderByPassRate) { ordering += suite => { testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return (suite.Statistics.Passed / suite.Statistics.All); }; } if (cmdlet.OrderByFailRate) { ordering += suite => { testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return (suite.Statistics.Failed / suite.Statistics.All); }; } suitesFound = SearchTestSuite( suitesForSearch, query, //Combine<TestSuite, bool>((x, y) => x && y, queriesList.ToArray()), ordering, cmdlet.Descending); return suitesFound; }
// public static bool ImportTestStructure(string path) // { // bool result = false; // // // return result; // } // public static bool ExportTestStructure(string path) // { // bool result = false; // // // return result; // } #endregion Import/export test structure #region Search /// <summary> /// Performs parametrized search for Test Suites. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public static IOrderedEnumerable <ITestSuite> SearchForSuites(ISearchCmdletBaseDataObject cmdlet) { IOrderedEnumerable <ITestSuite> suites = null; // 20141107 // 20150925 // var testStatistics = new TestStatistics(); var testStatistics = ProxyFactory.Get <TestStatistics>(); // Filtering results // default result Func <ITestSuite, bool> query = suite => true; // System.Collections.Generic.List<Func<TestSuite, bool>> queriesList = // new List<Func<TestSuite, bool>>(); // queriesList.Add(query); if (!string.IsNullOrEmpty(cmdlet.FilterNameContains)) { // if (cmdlet.FilterNameContains != null && cmdlet.FilterNameContains.Length > 0) { query = suite => suite.Name.Contains(cmdlet.FilterNameContains); //queriesList.Add((suite => suite.Name.Contains(cmdlet.FilterNameContains))); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterIdContains)) { // } else if (cmdlet.FilterIdContains != null && cmdlet.FilterIdContains.Length > 0) { query = suite => suite.Id.Contains(cmdlet.FilterIdContains); //queriesList.Add((suite => suite.Id.Contains(cmdlet.FilterIdContains))); cmdlet.FilterAll = false; } else if (!string.IsNullOrEmpty(cmdlet.FilterDescriptionContains)) { // } else if (cmdlet.FilterDescriptionContains != null && cmdlet.FilterDescriptionContains.Length > 0) { query = suite => suite.Description != null && suite.Description.Contains(cmdlet.FilterDescriptionContains); //query = suite => //{ // return suite.Description != null && suite.Description.Contains(cmdlet.FilterDescriptionContains); // /* // if (suite.Description != null) { // return suite.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // */ //}; // queriesList.Add((suite => // { // if (suite.Description != null) { // return suite.Description.Contains(cmdlet.FilterDescriptionContains); // } // return false; // })); cmdlet.FilterAll = false; } else if (cmdlet.FilterPassed) { query = suite => suite.enStatus == TestStatuses.Passed; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.Passed)); cmdlet.FilterAll = false; } else if (cmdlet.FilterFailed) { query = suite => suite.enStatus == TestStatuses.Failed; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.Failed)); cmdlet.FilterAll = false; } else if (cmdlet.FilterNotTested) { query = suite => suite.enStatus == TestStatuses.NotRun; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.NotTested)); cmdlet.FilterAll = false; } else if (cmdlet.FilterPassedWithBadSmell) { query = suite => suite.enStatus == TestStatuses.KnownIssue; //queriesList.Add((suite => suite.enStatus == TestSuiteStatuses.KnownIssue)); cmdlet.FilterAll = false; } if (cmdlet.FilterAll) { query = suite => true; } if (cmdlet.FilterNone) { query = suite => false; //queriesList.Clear(); //queriesList.Add(query); } // Ordering results // default result // 20140720 // Func<TestSuite, object> ordering = suite => suite.Id; Func <ITestSuite, object> ordering = suite => suite.Id; if (cmdlet.OrderByTimeSpent) { ordering += suite => suite.Statistics.TimeSpent; } if (cmdlet.OrderByName) { ordering += suite => suite.Name; } if (cmdlet.OrderById) { ordering += suite => suite.Id; } if (cmdlet.OrderByPassRate) { ordering += suite => { //TestData.RefreshSuiteStatistics(suite); // 20141107 // TestData.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return(suite.Statistics.Passed / suite.Statistics.All); }; } if (cmdlet.OrderByFailRate) { ordering += suite => { //TestData.RefreshSuiteStatistics(suite); // 20141107 // TestData.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); testStatistics.RefreshSuiteStatistics(suite, cmdlet.FilterOutAutomaticResults); return(suite.Statistics.Failed / suite.Statistics.All); }; } // cmdlet.WriteVerbose(cmdlet, "query = " + query); // cmdlet.WriteVerbose(cmdlet, "ordering = " + ordering); suites = TestData.SearchTestSuite( query, //Combine<TestSuite, bool>((x, y) => x && y, queriesList.ToArray()), ordering, cmdlet.Descending); return(suites); }
public static IOrderedEnumerable <ITestSuite> SearchForSuitesPS(ISearchCmdletBaseDataObject cmdlet) { IOrderedEnumerable <ITestSuite> suites = SearchForSuites(cmdlet); return(suites.Any() ? suites : null); }
/// <summary> /// Performs parametrized search for Test Scenarios. /// </summary> /// <param name="cmdlet"></param> /// <returns></returns> public virtual IOrderedEnumerable <ITestScenario> SearchForScenarios(ISearchCmdletBaseDataObject searchCriteria, List <ITestSuite> suitesForSearch) { IOrderedEnumerable <ITestScenario> scenarios = null; // Filtering results // default result Func <ITestScenario, bool> query = scenario => true; if (!string.IsNullOrEmpty(searchCriteria.FilterNameContains)) { query = scenario => scenario.Name.Contains(searchCriteria.FilterNameContains); searchCriteria.FilterAll = false; } else if (!string.IsNullOrEmpty(searchCriteria.FilterIdContains)) { query = scenario => scenario.Id.Contains(searchCriteria.FilterIdContains); searchCriteria.FilterAll = false; } else if (!string.IsNullOrEmpty(searchCriteria.FilterDescriptionContains)) { query = scenario => scenario.Description != null && scenario.Description.Contains(searchCriteria.FilterDescriptionContains); searchCriteria.FilterAll = false; } else if (searchCriteria.FilterPassed) { // 20150805 // query = scenario => scenario.enStatus == TestScenarioStatuses.Passed; query = scenario => scenario.enStatus == TestStatuses.Passed; searchCriteria.FilterAll = false; } else if (searchCriteria.FilterFailed) { // 20150805 // query = scenario => scenario.enStatus == TestScenarioStatuses.Failed; query = scenario => scenario.enStatus == TestStatuses.Failed; searchCriteria.FilterAll = false; } else if (searchCriteria.FilterNotTested) { // 20150805 // query = scenario => scenario.enStatus == TestScenarioStatuses.NotTested; query = scenario => scenario.enStatus == TestStatuses.NotRun; searchCriteria.FilterAll = false; } else if (searchCriteria.FilterPassedWithBadSmell) { // 20150805 // query = scenario => scenario.enStatus == TestScenarioStatuses.KnownIssue; query = scenario => scenario.enStatus == TestStatuses.KnownIssue; searchCriteria.FilterAll = false; } if (searchCriteria.FilterAll) { query = scenario => true; } if (searchCriteria.FilterNone) { query = scenario => false; } // Ordering results // default result Func <ITestScenario, object> ordering = scenario => scenario.Id; if (searchCriteria.OrderByTimeSpent) { ordering = scenario => scenario.Statistics.TimeSpent; } else if (searchCriteria.OrderByName) { ordering = scenario => scenario.Name; } else if (searchCriteria.OrderById) { ordering = scenario => scenario.Id; } else if (searchCriteria.OrderByPassRate) { ordering = scenario => scenario.Statistics.Passed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } else if (searchCriteria.OrderByFailRate) { ordering = scenario => scenario.Statistics.Failed / (scenario.Statistics.Passed + scenario.Statistics.Failed + scenario.Statistics.PassedButWithBadSmell + scenario.Statistics.NotTested); } scenarios = SearchTestScenario( suitesForSearch, query, ordering, searchCriteria.Descending); return(scenarios); }