private BuildStatistics CalculateSummary()

in TeamCity.CSharpInteractive/BuildResult.cs [63:102]


    private BuildStatistics CalculateSummary()
    {
        var testItems =
            from testGroup in
                from testResult in Tests
                group testResult by (AssemblyName: testResult.SuiteName, testResult.Name)
            select testGroup.OrderByDescending(i => i.State).First();

        var totalTests = 0;
        var failedTests = 0;
        var ignoredTests = 0;
        var passedTests = 0;
        foreach (var test in testItems)
        {
            totalTests++;
            // ReSharper disable once SwitchStatementHandlesSomeKnownEnumValuesWithDefault
            switch (test.State)
            {
                case TestState.Passed:
                    passedTests++;
                    break;

                case TestState.Failed:
                    failedTests++;
                    break;

                case TestState.Ignored:
                    ignoredTests++;
                    break;
            }
        }

        return new BuildStatistics(
            Errors.Count,
            Warnings.Count,
            totalTests,
            failedTests,
            ignoredTests,
            passedTests);
    }