public bool Finish()

in src/extensions/testframework/YamlTestFrameworkConsoleHost.cs [45:118]


        public bool Finish(IDictionary<string, IList<TestResult>> resultsByTestCaseId, string outputResultsFormat = "trx", string? outputResultsFile = null)
        {
            _testRun.EndRun();

            var allResults = resultsByTestCaseId.Values.SelectMany(x => x);
            var failedResults = allResults.Where(x => x.Outcome == TestOutcome.Failed).ToList();
            var passedResults = allResults.Where(x => x.Outcome == TestOutcome.Passed).ToList();
            var skippedResults = allResults.Where(x => x.Outcome == TestOutcome.Skipped).ToList();
            var passed = failedResults.Count == 0;

            if (failedResults.Count > 0)
            {
                Console.ResetColor();
                Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Red;
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("FAILURE SUMMARY:");
                Console.ResetColor();
                Console.WriteLine();
                failedResults.ForEach(r => PrintResult(r));
            }
            else
            {
                Console.WriteLine();
            }

            var count = allResults.Count();
            var duration = TimeSpanFormatter.FormatMsOrSeconds(_testRun.Duration);
            Console.BackgroundColor = ConsoleColor.Blue;
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("TEST RESULT SUMMARY:");

            Console.ResetColor();
            Console.WriteLine();

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write($"\nPassed: {passedResults.Count}");
            Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
            Console.WriteLine($" ({100f * passedResults.Count / count:0.0}%)");

            if (failedResults.Count > 0)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write($"Failed: {failedResults.Count}");
                Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
                Console.WriteLine($" ({100f * failedResults.Count / count:0.0}%)");
            }

            if (skippedResults.Count > 0)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write($"Skipped: {skippedResults.Count}");
                Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
                Console.WriteLine($" ({100f * skippedResults.Count / count:0.0}%)");
            }

            Console.ResetColor();
            Console.Write("\nTests: ");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write($"{count}");
            Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
            Console.WriteLine($" ({duration})");

            if (outputResultsFormat == "trx")
            {
                PrintResultsFile(TrxXmlTestReporter.WriteResultsFile(_testRun, outputResultsFile));
            }
            else if (outputResultsFormat == "junit")
            {
                PrintResultsFile(JunitXmlTestReporter.WriteResultsFile(_testRun, outputResultsFile));
            }

            return passed;
        }