Tmx.Core.TestStatistics.RefreshScenarioStatistics C# (CSharp) Method

RefreshScenarioStatistics() public method

public RefreshScenarioStatistics ( ITestScenario scenario, bool skipAutomatic ) : TestStat
scenario ITestScenario
skipAutomatic bool
return TestStat
        public virtual TestStat RefreshScenarioStatistics(ITestScenario scenario, bool skipAutomatic)
        {
            var testScenarioStatistics = new TestStat();
            
            if (null != scenario.TestResults && 0 < scenario.TestResults.Count) {
                
                testScenarioStatistics.All = scenario.TestResults.Count;
                foreach (var testResult in scenario.TestResults) {
//                    if (skipAutomatic)
//                        if (TestResultOrigins.Automatic == testResult.Origin)
//                            continue;
                    if (skipAutomatic && TestResultOrigins.Automatic == testResult.Origin)
                        continue;
                    
//                    if (testResult.enStatus == TestResultStatuses.Passed || testResult.enStatus == TestResultStatuses.KnownIssue) {
//                        testScenarioStatistics.Passed++;
//                        if (testResult.enStatus == TestResultStatuses.KnownIssue)
//                            testScenarioStatistics.PassedButWithBadSmell++;
//                    }
//                    switch (testResult.enStatus) {
//                        case TestResultStatuses.Passed:
//                        case TestResultStatuses.KnownIssue:
//                            testScenarioStatistics.Passed++;
//                            if (testResult.enStatus == TestResultStatuses.KnownIssue)
//                                testScenarioStatistics.PassedButWithBadSmell++;
//                            break;
//                    }
//                    if (testResult.enStatus == TestResultStatuses.Failed)
//                        testScenarioStatistics.Failed++;
                    
                    switch (testResult.enStatus) {
                        case TestStatuses.Passed:
                            testScenarioStatistics.Passed++;
                            break;
                        case TestStatuses.Failed:
                            testScenarioStatistics.Failed++;
                            break;
                        case TestStatuses.KnownIssue:
                            testScenarioStatistics.PassedButWithBadSmell++;
                            break;
//                        case TestResultStatuses.NotTested:
//                            testScenarioStatistics.NotTested++;
//                            break;
                    }
                    
                    testScenarioStatistics.TimeSpent += testResult.TimeSpent;
                }
            }
            testScenarioStatistics.NotTested = testScenarioStatistics.All - testScenarioStatistics.Passed - testScenarioStatistics.Failed -testScenarioStatistics.PassedButWithBadSmell;
            scenario.Statistics = testScenarioStatistics;
            setTestScenarioStatus(scenario);
            return testScenarioStatistics;
        }
        

Usage Example

示例#1
0
 void MergeTestScenarios(List<ITestScenario> sourceTestScenarios, List<ITestScenario> testScenariosToAdd)
 {
     var testStatistics = new TestStatistics();
     
     foreach (var testScenario in testScenariosToAdd) {
         if (sourceTestScenarios.All(tsc => tsc.UniqueId != testScenario.UniqueId)) {
             // 20150219
             // TODO: move it to another place
             testStatistics.RefreshScenarioStatistics(testScenario, false);
             sourceTestScenarios.Add(testScenario);
             continue;
         }
         var existingTestScenario = sourceTestScenarios.First(tsc => tsc.UniqueId == testScenario.UniqueId);
         MergeTestResults(existingTestScenario.TestResults, testScenario.TestResults);
         testStatistics.RefreshScenarioStatistics(existingTestScenario, false);
     }
 }
All Usage Examples Of Tmx.Core.TestStatistics::RefreshScenarioStatistics