//---------------------------------------------------------------------
        private static void SetOutcome(JUnitTestSuite jUnitTestSuite, TrxResultSummary trxResultSummary)
        {
            TrxOutcome outcome = GetOutcome(jUnitTestSuite);

            if (outcome != TrxOutcome.Passed)
            {
                trxResultSummary.Outcome = outcome;
            }
        }
        //---------------------------------------------------------------------
        private void BuildResults(ICollection <JUnitTestSuite> jUnitTestSuites)
        {
            var trxTimes         = new TrxTimes();
            var trxResultSummary = new TrxResultSummary();

            var      resultSummaryStdOutStringBuilder = new StringBuilder();
            TimeSpan executionTime = default;

            foreach (JUnitTestSuite jUnitTestSuite in jUnitTestSuites)
            {
                trxResultSummary.Total    += jUnitTestSuite.TestCount;
                trxResultSummary.Errors   += jUnitTestSuite.ErrorCount ?? 0;
                trxResultSummary.Executed += jUnitTestSuite.TestCount - jUnitTestSuite.SkippedCount ?? 0;
                trxResultSummary.Failed   += jUnitTestSuite.FailureCount ?? 0;
                trxResultSummary.Passed   += (jUnitTestSuite.TestCount - (jUnitTestSuite.ErrorCount ?? 0) - (jUnitTestSuite.FailureCount ?? 0) - (jUnitTestSuite.SkippedCount ?? 0));
                executionTime             += TimeSpan.FromSeconds(jUnitTestSuite.TimeInSeconds);
                SetOutcome(jUnitTestSuite, trxResultSummary);
                SetCreationTimestamp(jUnitTestSuite, trxTimes);
                SetOutput(jUnitTestSuite, resultSummaryStdOutStringBuilder);

                foreach (JUnitTestCase junitTestCase in jUnitTestSuite.TestCases)
                {
                    this.ProcessTestCases(jUnitTestSuite, junitTestCase);
                }
            }

            if (resultSummaryStdOutStringBuilder.Length > 0)
            {
                trxResultSummary.StdOut = resultSummaryStdOutStringBuilder.ToString();
            }

            if (this.Result.TestDefinitions.Count > 0)
            {
                Debug.Assert(trxTimes.Creation.HasValue);
                trxTimes.Finish = trxTimes.Creation !.Value + executionTime;

                this.Result.Times         = trxTimes;
                this.Result.ResultSummary = trxResultSummary;
            }
        }