public string Show(bool showFailed = true, string failedPrefix = "Broken tests", bool showSuccess = false, string successPrefix = "Passed tests") { string result = ""; if (showFailed) { var failedTests = Failed.Select(x => x.Name.Split(new[] { ": " }, StringSplitOptions.None)[1]).ToList(); if (failedTests.Any()) { var failedMoreCount = failedTests.Count() - 10; var failedShort = failedTests.Take(10); var reasonTail = failedMoreCount > 0 ? Environment.NewLine + "and " + failedMoreCount + " more..." : ""; result += String.Format("{3}: {0}{1}{2}", Environment.NewLine, String.Join(Environment.NewLine, failedShort), reasonTail, failedPrefix); } } if (showSuccess) { var passedTests = Success.Select(x => x.Name.Split(new[] { ": " }, StringSplitOptions.None)[1]).ToList(); if (passedTests.Any()) { var passedMoreCount = passedTests.Count() - 10; var passedShort = passedTests.Take(10); var reasonTail = passedMoreCount > 0 ? Environment.NewLine + "and " + passedMoreCount + " more..." : ""; result += String.Format("{3}: {0}{1}{2}", Environment.NewLine, String.Join(Environment.NewLine, passedShort), reasonTail, successPrefix); } } return(result); }