public static string WriteSummaryReport(ResultSummary summary)
        {
            var writer = new StringBuilder();

            writer.AppendLine($"Overall result: {summary.OverallResult}");

            writer.AppendUICultureFormattedNumber("  Test Count: ", summary.TestCount);
            writer.AppendUICultureFormattedNumber(", Passed: ", summary.PassCount);
            writer.AppendUICultureFormattedNumber(", Failed: ", summary.FailedCount);
            writer.AppendUICultureFormattedNumber(", Warnings: ", summary.WarningCount);
            writer.AppendUICultureFormattedNumber(", Inconclusive: ", summary.InconclusiveCount);
            writer.AppendUICultureFormattedNumber(", Skipped: ", summary.TotalSkipCount);
            writer.AppendLine();

            if (summary.FailedCount > 0)
            {
                writer.AppendUICultureFormattedNumber("    Failed Tests - Failures: ", summary.FailureCount);
                writer.AppendUICultureFormattedNumber(", Errors: ", summary.ErrorCount);
                writer.AppendUICultureFormattedNumber(", Invalid: ", summary.InvalidCount);
                writer.AppendLine();
            }
            if (summary.TotalSkipCount > 0)
            {
                writer.AppendUICultureFormattedNumber("    Skipped Tests - Ignored: ", summary.IgnoreCount);
                writer.AppendUICultureFormattedNumber(", Explicit: ", summary.ExplicitCount);
                writer.AppendUICultureFormattedNumber(", Other: ", summary.SkipCount);
                writer.AppendLine();
            }

            writer.AppendLine($"  Start time: {summary.StartTime:u}");
            writer.AppendLine($"    End time: {summary.EndTime:u}");
            writer.AppendUICultureFormattedNumber("    Duration: ", summary.Duration);

            return(writer.ToString());
        }
 private static void Summarize(XmlNodeList nodes, ResultSummary summary)
 {
     foreach (XmlNode childResult in nodes)
     {
         Summarize(childResult, summary);
     }
 }
        public void ReportWithDifferentUICultureFormatsNumbersAccordingToUICulture()
        {
            var summary = new ResultSummary
            {
                PassCount         = 10000,
                WarningCount      = 10000,
                InconclusiveCount = 10000,
                SkipCount         = 10000,
                TestCount         = 10000,
                FailureCount      = 10000,
                ErrorCount        = 10000,
                InvalidCount      = 10000,
                IgnoreCount       = 10000,
                ExplicitCount     = 10000,
                Duration          = 123.456789,
                OverallResult     = String.Empty
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Contain("Test Count: 10.000"));
            Assert.That(report, Does.Contain("Passed: 10.000"));
            Assert.That(report, Does.Contain("Failed: 30.000"));
            Assert.That(report, Does.Contain("Warnings: 10.000"));
            Assert.That(report, Does.Contain("Inconclusive: 10.000"));
            Assert.That(report, Does.Contain("Skipped: 30.000"));
            Assert.That(report, Does.Contain("Failed Tests - Failures: 10.000"));
            Assert.That(report, Does.Contain("Errors: 10.000"));
            Assert.That(report, Does.Contain("Invalid: 10.000"));
            Assert.That(report, Does.Contain("Skipped Tests - Ignored: 10.000"));
            Assert.That(report, Does.Contain("Explicit: 10.000"));
            Assert.That(report, Does.Contain("Other: 10.000"));
            Assert.That(report, Does.Contain("Duration: 123,457"));
        }
        public void ReportAlwaysStartsWithOveralResult()
        {
            var summary = new ResultSummary {
                OverallResult = "Passed"
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.StartWith("Overall result: Passed"));
        }
Esempio n. 5
0
        private static void SummarizeTestCase(ResultSummary summary, string status, string label)
        {
            switch (status)
            {
            case "Passed":
                summary.PassCount++;
                break;

            case "Failed":
                if (label == null)
                {
                    summary.FailureCount++;
                }
                else if (label == "Invalid")
                {
                    summary.InvalidCount++;
                }
                else
                {
                    summary.ErrorCount++;
                }
                break;

            case "Warning":
                summary.WarningCount++;
                break;

            case "Inconclusive":
                summary.InconclusiveCount++;
                break;

            case "Skipped":
                if (label == "Ignored")
                {
                    summary.IgnoreCount++;
                }
                else if (label == "Explicit")
                {
                    summary.ExplicitCount++;
                }
                else
                {
                    summary.SkipCount++;
                }
                break;

            default:
                summary.SkipCount++;
                break;
            }
        }
        public void ReportContainsStartAndEndDate()
        {
            var summary = new ResultSummary
            {
                StartTime     = new DateTime(2015, 10, 21, 7, 28, 30),
                EndTime       = new DateTime(2015, 10, 21, 16, 20, 45),
                OverallResult = String.Empty
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Contain("Start time: 2015-10-21 07:28:30Z"));
            Assert.That(report, Does.Contain("End time: 2015-10-21 16:20:45Z"));
        }
        public void ReportDoesNotContainExtendedSkipInformationWhenNoTestsAreSkipped()
        {
            var summary = new ResultSummary
            {
                IgnoreCount   = 0,
                ExplicitCount = 0,
                SkipCount     = 0,
                OverallResult = String.Empty
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Not.Contain("Skipped Tests - Ignored:"));
            Assert.That(report, Does.Not.Contain("Explicit:"));
            Assert.That(report, Does.Not.Contain("Other:"));
        }
        public void ReportContainsExtendedFailureInformationWhenItHasFailures(int failureCount, int errorCount, int invalidCount)
        {
            var summary = new ResultSummary
            {
                FailureCount  = failureCount,
                ErrorCount    = errorCount,
                InvalidCount  = invalidCount,
                OverallResult = String.Empty
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Contain("Failed Tests - Failures: " + failureCount));
            Assert.That(report, Does.Contain("Errors: " + errorCount));
            Assert.That(report, Does.Contain("Invalid: " + invalidCount));
        }
        public void ReportDoesNotContainExtendedFailureInformationWhenNoTestsFailed()
        {
            var summary = new ResultSummary
            {
                FailureCount  = 0,
                ErrorCount    = 0,
                InvalidCount  = 0,
                OverallResult = String.Empty
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Not.Contain("Failed Tests - Failures:"));
            Assert.That(report, Does.Not.Contain("Errors:"));
            Assert.That(report, Does.Not.Contain("Invalid:"));
        }
        public void ReportContainsExtendedSkipInformationWhenItHasSkips(int ignoreCount, int explicitCount, int skipCount)
        {
            var summary = new ResultSummary
            {
                IgnoreCount   = ignoreCount,
                ExplicitCount = explicitCount,
                SkipCount     = skipCount,
                OverallResult = String.Empty
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Contain("Skipped Tests - Ignored: " + ignoreCount));
            Assert.That(report, Does.Contain("Explicit: " + explicitCount));
            Assert.That(report, Does.Contain("Other: " + skipCount));
        }
Esempio n. 11
0
        public static ResultSummary FromResultNode(ResultNode resultNode)
        {
            var result = resultNode.Xml;

            if (result.Name != "test-run")
            {
                throw new InvalidOperationException("Expected <test-run> as top-level element but was <" + result.Name + ">");
            }

            var summary = new ResultSummary();

            summary.OverallResult = resultNode.Outcome.Status.ToString();
            summary.Duration      = result.GetAttribute("duration", 0.0);
            summary.StartTime     = result.GetAttribute("start-time", DateTime.MinValue);
            summary.EndTime       = result.GetAttribute("end-time", DateTime.MaxValue);
            Summarize(result, summary);
            return(summary);
        }
Esempio n. 12
0
        private static void SummarizeTestSuite(XmlNodeList childNodes, ResultSummary summary, string type, string status, string label)
        {
            if (status == "Failed" && label == "Invalid")
            {
                if (type == "Assembly")
                {
                    summary.InvalidAssemblies++;
                }
                else
                {
                    summary.InvalidTestFixtures++;
                }
            }
            if (type == "Assembly" && status == "Failed" && label == "Error")
            {
                summary.InvalidAssemblies++;
                summary.UnexpectedError = true;
            }

            Summarize(childNodes, summary);
        }
        public void ReportContainsAllCountsOfEachTestResult()
        {
            var summary = new ResultSummary
            {
                PassCount         = 1,
                FailureCount      = 2,
                WarningCount      = 3,
                InconclusiveCount = 4,
                SkipCount         = 5,
                TestCount         = 15,
                OverallResult     = String.Empty,
            };

            var report = ResultSummaryReporter.WriteSummaryReport(summary);

            Assert.That(report, Does.Contain("Test Count: 15"));
            Assert.That(report, Does.Contain("Passed: 1"));
            Assert.That(report, Does.Contain("Failed: 2"));
            Assert.That(report, Does.Contain("Warnings: 3"));
            Assert.That(report, Does.Contain("Inconclusive: 4"));
            Assert.That(report, Does.Contain("Skipped: 5"));
        }
Esempio n. 14
0
        private static void Summarize(XmlNode node, ResultSummary summary)
        {
            string type   = node.GetAttribute("type");
            string status = node.GetAttribute("result");
            string label  = node.GetAttribute("label");

            switch (node.Name)
            {
            case "test-case":
                summary.TestCount++;

                SummarizeTestCase(summary, status, label);
                break;

            case "test-suite":
                SummarizeTestSuite(node.ChildNodes, summary, type, status, label);
                break;

            case "test-run":
                Summarize(node.ChildNodes, summary);
                break;
            }
        }