Tmx.TmxHelper.SearchForTestResults C# (CSharp) Method

SearchForTestResults() public static method

Performs parametrized search for Test Results.
public static SearchForTestResults ( ISearchCmdletBaseDataObject dataObject ) : IOrderedEnumerable
dataObject ISearchCmdletBaseDataObject
return IOrderedEnumerable
        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;
        }
        

Usage Example

Example #1
0
        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);
        }