Skip to content

Commit eb2c1a3

Browse files
committed
Convert ResultReporter to static class
1 parent 1927f38 commit eb2c1a3

File tree

6 files changed

+138
-141
lines changed

6 files changed

+138
-141
lines changed

src/NUnitCommon/nunit.agent.core/AgentDirectRunner.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void ExecuteTestsDirectly()
3030
{
3131
var testFile = _options.Files[0];
3232

33-
WriteHeader();
33+
WriteHeader(OutWriter);
3434

3535
TestPackage package = new TestPackage(testFile).SubPackages[0];
3636

@@ -66,7 +66,7 @@ public void ExecuteTestsDirectly()
6666
Environment.Exit(AgentExitCodes.OK);
6767
}
6868

69-
private void WriteHeader()
69+
private static void WriteHeader(ExtendedTextWriter outWriter)
7070
{
7171
var ea = Assembly.GetEntryAssembly();
7272
if (ea is not null)
@@ -75,11 +75,11 @@ private void WriteHeader()
7575
var version = GetAttribute<AssemblyFileVersionAttribute>(ea)?.Version;
7676
var copyright = GetAttribute<AssemblyCopyrightAttribute>(ea)?.Copyright;
7777

78-
OutWriter.WriteLine(ColorStyle.Header, $"{title} {version}");
78+
outWriter.WriteLine(ColorStyle.Header, $"{title} {version}");
7979
if (copyright is not null)
80-
OutWriter.WriteLine(ColorStyle.SubHeader, copyright);
81-
OutWriter.WriteLine(ColorStyle.SubHeader, DateTime.Now.ToString(CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern));
82-
OutWriter.WriteLine();
80+
outWriter.WriteLine(ColorStyle.SubHeader, copyright);
81+
outWriter.WriteLine(ColorStyle.SubHeader, DateTime.Now.ToString(CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern));
82+
outWriter.WriteLine();
8383
}
8484
}
8585

src/NUnitCommon/nunit.common.tests/TextDisplay/ResultReporterTests.cs

+29-23
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ namespace NUnit.TextDisplay
1515
public class ResultReporterTests
1616
{
1717
private XmlNode _result;
18-
private ResultReporter _reporter;
1918
private StringBuilder _report;
2019

2120
[OneTimeSetUp]
@@ -49,13 +48,15 @@ public void CreateReporter()
4948
{
5049
_report = new StringBuilder();
5150
var writer = new ExtendedTextWrapper(new StringWriter(_report));
52-
_reporter = new ResultReporter(_result, writer);
5351
}
5452

5553
[Test]
5654
public void ReportSequenceTest()
5755
{
58-
var report = GetReport(_reporter.ReportResults);
56+
var sb = new StringBuilder();
57+
var writer = new ExtendedTextWrapper(new StringWriter(sb));
58+
ResultReporter.ReportResults(new ResultSummary(_result), writer);
59+
var report = sb.ToString();
5960

6061
var reportSequence = new[]
6162
{
@@ -93,12 +94,15 @@ public void SummaryReportTest()
9394
};
9495
#pragma warning restore SA1137 // Elements should have the same indentation
9596

96-
var actualSummary = GetReportLines(_reporter.WriteSummaryReport);
97-
Assert.That(actualSummary, Is.EqualTo(expected));
97+
var report = new StringBuilder();
98+
var writer = new ExtendedTextWrapper(new StringWriter(report));
99+
ResultReporter.WriteSummaryReport(_result, new ResultSummary(_result), writer);
100+
var lines = GetReportLines(report.ToString());
101+
Assert.That(lines, Is.EqualTo(expected));
98102
}
99103

100104
[Test]
101-
public void ErrorsAndFailuresReportTest()
105+
public void ErrorsFailuresAndWarningsReportTest()
102106
{
103107
var nl = Environment.NewLine;
104108

@@ -119,12 +123,14 @@ public void ErrorsAndFailuresReportTest()
119123
"No suitable constructor was found"
120124
};
121125

122-
var actualErrorFailuresReport = GetReport(_reporter.WriteErrorsFailuresAndWarningsReport);
126+
var sb = new StringBuilder();
127+
var writer = new ExtendedTextWrapper(new StringWriter(sb));
128+
ResultReporter.WriteErrorsFailuresAndWarningsReport(_result, writer);
123129

124-
foreach (var ex in expected)
125-
{
126-
Assert.That(actualErrorFailuresReport, Does.Contain(ex));
127-
}
130+
var report = sb.ToString();
131+
132+
foreach (var item in expected)
133+
Assert.That(report.Contains(item));
128134
}
129135

130136
[Test]
@@ -156,8 +162,11 @@ public void TestsNotRunTest()
156162
string.Empty
157163
};
158164

159-
var report = GetReportLines(_reporter.WriteNotRunReport);
160-
Assert.That(report, Is.EqualTo(expected));
165+
var report = new StringBuilder();
166+
var writer = new ExtendedTextWrapper(new StringWriter(report));
167+
ResultReporter.WriteNotRunReport(_result, writer);
168+
var lines = GetReportLines(report.ToString());
169+
Assert.That(lines, Is.EqualTo(expected));
161170
}
162171

163172
[Test, Explicit("Displays failure behavior")]
@@ -177,24 +186,21 @@ public void TestParameterSettingsWrittenCorrectly()
177186
" 2 -> |c|"
178187
};
179188

180-
var report = GetReportLines(_reporter.WriteRunSettingsReport);
181-
Assert.That(report, Is.SupersetOf(expected));
189+
var report = new StringBuilder();
190+
var writer = new ExtendedTextWrapper(new StringWriter(report));
191+
ResultReporter.WriteRunSettingsReport(_result, writer);
192+
var lines = GetReportLines(report.ToString());
193+
Assert.That(lines, Is.SupersetOf(expected));
182194
}
183195

184196
private static TestEngineResult AddMetadata(TestEngineResult input)
185197
{
186198
return input.Aggregate("test-run start-time=\"2015-10-19 02:12:28Z\" end-time=\"2015-10-19 02:12:29Z\" duration=\"0.348616\"", string.Empty, string.Empty, string.Empty);
187199
}
188200

189-
private string GetReport(TestDelegate del)
190-
{
191-
del();
192-
return _report.ToString();
193-
}
194-
195-
private List<string> GetReportLines(TestDelegate del)
201+
private static List<string> GetReportLines(string report)
196202
{
197-
var rdr = new StringReader(GetReport(del));
203+
var rdr = new StringReader(report.ToString());
198204

199205
string? line;
200206
var lines = new List<string>();

src/NUnitCommon/nunit.common/ResultSummary.cs

+18-4
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,30 @@ namespace NUnit
1010
/// </summary>
1111
public class ResultSummary
1212
{
13-
public ResultSummary(XmlNode result)
13+
public ResultSummary(XmlNode resultNode)
1414
{
15-
if (result.Name != "test-run")
16-
throw new InvalidOperationException("Expected <test-run> as top-level element but was <" + result.Name + ">");
15+
if (resultNode.Name != "test-run")
16+
throw new InvalidOperationException("Expected <test-run> as top-level element but was <" + resultNode.Name + ">");
1717

1818
InitializeCounters();
1919

20-
Summarize(result, false);
20+
Summarize(resultNode, false);
21+
22+
string? overallResult = resultNode.GetAttribute("result");
23+
if (overallResult == "Skipped")
24+
OverallResult = "Warning";
25+
if (overallResult is null)
26+
OverallResult = "Unknown";
27+
else
28+
OverallResult = overallResult;
29+
30+
ResultNode = resultNode;
2131
}
2232

33+
public XmlNode ResultNode { get; }
34+
35+
public string OverallResult { get; }
36+
2337
/// <summary>
2438
/// Gets the number of test cases for which results
2539
/// have been summarized. Any tests excluded by use of

0 commit comments

Comments
 (0)