Beispiel #1
0
        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);
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #6
0
        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));
 }
Beispiel #13
0
 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);
 }