public void WriteMultipleTestRuns() { // Arrange TestRun[] testRuns = { new TestRun { IsSuccess = true, Passed = 10, Failed = 0, Skipped = 2, Errors = 1, Total = 12, Result = "Passed", Name = "Test 1" }, new TestRun { IsSuccess = false, Passed = 8, Failed = 1, Skipped = 1, Errors = 0, Total = 10, Result = "Failed", Name = "Test 2" } }; TestRunSummaryOutputTemplate testRunSummaryOutputTemplate = new TestRunSummaryOutputTemplate(testRuns); ITestResultsOutputWriter outputWriter = Substitute.For <ITestResultsOutputWriter>(); // Act testRunSummaryOutputTemplate.Write(outputWriter); // Assert for (int i = 0; i < testRuns.Length; i++) { TestRun testRun = testRuns[i]; AssertOutputWriterTestRunWrite(outputWriter, testRun); } }
/// <inheritdoc /> public void Write(ITestResultsOutputWriter outputWriter) { if (outputWriter == null) { throw new ArgumentNullException(nameof(outputWriter)); } outputWriter.Write(_testRuns.All(x => x.IsSuccess) ? TestRunResult.Passed : TestRunResult.Failed); }
public void Write_ShouldWritePassed_WhenTestRunListIsEmpty() { // Arrange TestRunResultOutputTemplate testRunResultOutputTemplate = new TestRunResultOutputTemplate(Array.Empty <TestRun>()); ITestResultsOutputWriter testResultsOutputWriter = Substitute.For <ITestResultsOutputWriter>(); // Act testRunResultOutputTemplate.Write(testResultsOutputWriter); // Assert testResultsOutputWriter.Received(1).Write(TestRunResult.Passed); }
/// <inheritdoc /> public void Write(ITestResultsOutputWriter outputWriter) { if (outputWriter == null) { throw new ArgumentNullException(nameof(outputWriter)); } for (int i = 0; i < _testRun.Length; i++) { TestRun testRun = _testRun[i]; WriteLines(outputWriter, testRun); } }
public void Write_ShoulWritePassed_WhenAllTestRunsUnSuccessful() { // Arrange TestRunResultOutputTemplate testRunResultOutputTemplate = new TestRunResultOutputTemplate(Enumerable.Repeat(new TestRun { IsSuccess = false }, 3).ToArray()); ITestResultsOutputWriter testResultsOutputWriter = Substitute.For <ITestResultsOutputWriter>(); // Act testRunResultOutputTemplate.Write(testResultsOutputWriter); // Assert testResultsOutputWriter.Received(1).Write(TestRunResult.Failed); }
public void Write() { // Arrange TestRun testRun = new TestRun { IsSuccess = true, Passed = 10, Failed = 0, Skipped = 2, Errors = 1, Total = 12, Result = "Passed", Name = "Test 1" }; TestRunSummaryOutputTemplate testRunSummaryOutputTemplate = new TestRunSummaryOutputTemplate(testRun); ITestResultsOutputWriter outputWriter = Substitute.For <ITestResultsOutputWriter>(); // Act testRunSummaryOutputTemplate.Write(outputWriter); // Assert AssertOutputWriterTestRunWrite(outputWriter, testRun); }
public void Create_ShouldReturnConsoleOut_WhenOutputIsNull() { // Arrange DefaultTestResultsOutputWriterFactory defaultTestResultsOutputWriterFactory = new DefaultTestResultsOutputWriterFactory(); string output = null; // Act using (ITestResultsOutputWriter testResultsOutputWriter = defaultTestResultsOutputWriterFactory.Create(output)) { // Assert Assert.AreEqual(true, testResultsOutputWriter is TextWriterTestResultsOutputWriter); TextWriter textWriter = ((TextWriterTestResultsOutputWriter)testResultsOutputWriter).Writer; Assert.AreSame(Console.Out, textWriter); } }
public void Write_ShoulWritePassed_WhenOneTestRunsUnSuccessful() { // Arrange TestRunResultOutputTemplate testRunResultOutputTemplate = new TestRunResultOutputTemplate(new TestRun { IsSuccess = true }, new TestRun { IsSuccess = false }, new TestRun { IsSuccess = true }); ITestResultsOutputWriter testResultsOutputWriter = Substitute.For <ITestResultsOutputWriter>(); // Act testRunResultOutputTemplate.Write(testResultsOutputWriter); // Assert testResultsOutputWriter.Received(1).Write(TestRunResult.Failed); }
public void Create_ShouldReturnFileStreamWriter_WhenOutputIsNotNull() { // Arrange DefaultTestResultsOutputWriterFactory defaultTestResultsOutputWriterFactory = new DefaultTestResultsOutputWriterFactory(); string output = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "output.txt");; // Act using (ITestResultsOutputWriter testResultsOutputWriter = defaultTestResultsOutputWriterFactory.Create(output)) { // Assert Assert.AreEqual(true, testResultsOutputWriter is TextWriterTestResultsOutputWriter); TextWriter textWriter = ((TextWriterTestResultsOutputWriter)testResultsOutputWriter).Writer; Assert.AreEqual(true, textWriter is StreamWriter); object baseStream = textWriter.GetType().GetProperty("BaseStream").GetValue(textWriter); Assert.AreEqual(true, baseStream is FileStream); Assert.AreEqual(output, ((FileStream)baseStream).Name); } }
// ReSharper disable once UnusedMember.Local private int OnExecute() { ITestResultsOutputWriterFactory outputWriterFactory = new DefaultTestResultsOutputWriterFactory(); using (ITestResultsOutputWriter outputWriter = outputWriterFactory.Create(Output)) { OutputTemplateManager outputTemplateManager = new OutputTemplateManager(Path, new TestRunResultParser(Format), new DefaultFileSystemManager()); IOutputTemplateFactory outputTemplateFactory = outputTemplateManager.CreateOutputTemplateFactory(); IOutputTemplate outputTemplate = OutputTemplateManager.CreateOutputTemplate(outputTemplateFactory, Template); outputTemplate.Write(outputWriter); if (FailWhenResultIsFailed && !outputTemplateFactory.IsSuccess) { return(-1); } } return(0); }
public void WriteLine() { // Arrange ITestResultsOutputWriter writer = Substitute.For <ITestResultsOutputWriter>(); string text = "Test Result: {0}. Passed: {1}"; object[] args = { "Passed", 10 }; using (TextWriterTestResultsOutputWriter testResultsOutputWriter = new TextWriterTestResultsOutputWriter(new TextWriterStub(writer))) { // Act testResultsOutputWriter.WriteLine(text, args); // Assert writer.Received(1).WriteLine(text, args); } // Assert writer.Received(1).Dispose(); }
public TextWriterStub(ITestResultsOutputWriter writer) { _writer = writer ?? throw new ArgumentNullException(nameof(writer)); }
private static void WriteLines(ITestResultsOutputWriter outputWriter, TestRun testRun) { outputWriter.WriteLine("Test name : {0}", testRun.Name); outputWriter.WriteLine("Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}. Errors: {4}.", testRun.Total, testRun.Passed, testRun.Failed, testRun.Skipped, testRun.Errors); outputWriter.WriteLine("Test Run {0}.", testRun.Result); }