public static void ConvertsITestFailed() { Exception ex; try { throw new Exception(); } catch (Exception e) { ex = e; } TestResult testResult = null; var listener = Substitute.For <ITestListener>(); listener.WhenAny(l => l.TestFinished(null)) .Do <TestResult>(result => testResult = result); var visitor = new ResultVisitor(listener, 42); var message = Mocks.TestFailed(typeof(string), "Contains", "Display Name", executionTime: 123.45M, ex: ex); visitor.OnMessage(message); Assert.NotNull(testResult); Assert.Same(typeof(string), testResult.FixtureType); Assert.Equal("Contains", testResult.Method.Name); Assert.Equal("Display Name", testResult.Name); Assert.Equal(TestState.Failed, testResult.State); Assert.Equal(123.45, testResult.TimeSpan.TotalMilliseconds); Assert.Equal(42, testResult.TotalTests); Assert.Equal("System.Exception : " + ex.Message, testResult.Message); Assert.Equal(ex.StackTrace, testResult.StackTrace); }
public static void DefaultRunStateIsNoTests() { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener, 42); Assert.Equal(TestRunState.NoTests, visitor.TestRunState); }
public virtual TestRunState Run(IEnumerable<ITestCase> testCases = null, TestRunState initialRunState = TestRunState.NoTests) { try { if (testCases != null) testCases = testCases.ToList(); var visitor = new ResultVisitor(testListener) { TestRunState = initialRunState }; toDispose.Push(visitor); if (testCases == null) xunit.Run(visitor, new XunitDiscoveryOptions(), new XunitExecutionOptions()); else xunit.Run(testCases, visitor, new XunitExecutionOptions()); visitor.Finished.WaitOne(); return visitor.TestRunState; } catch (Exception ex) { testListener.WriteLine("Error during test execution:\r\n" + ex, Category.Error); return TestRunState.Error; } }
public void ConvertsITestSkipped() { TestResult testResult = null; var listener = Substitute.For <ITestListener>(); listener.WhenAny(l => l.TestFinished(null)) .Do <TestResult>(result => testResult = result); var visitor = new ResultVisitor(listener); var message = new TestSkipped { TestCase = new TestCase(typeof(string), "Contains"), TestDisplayName = "Display Name", ExecutionTime = 123.45M, Reason = "I forgot how to run" }; visitor.OnMessage(message); Assert.NotNull(testResult); Assert.Same(typeof(string), testResult.FixtureType); Assert.Equal("Contains", testResult.Method.Name); Assert.Equal("Display Name", testResult.Name); Assert.Equal(TestState.Ignored, testResult.State); Assert.Equal(123.45, testResult.TimeSpan.TotalMilliseconds); Assert.Equal(1, testResult.TotalTests); Assert.Equal("I forgot how to run", testResult.Message); }
public static void SignalsFinishedEventUponReceiptOfITestAssemblyFinished() { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener, 42); var message = Substitute.For <ITestAssemblyFinished>(); visitor.OnMessage(message); Assert.True(visitor.Finished.WaitOne(0)); }
public void SignalsFinishedEventUponReceiptOfITestAssemblyFinished() { var listener = Substitute.For<ITestListener>(); var visitor = new ResultVisitor(listener); var message = Substitute.For<ITestAssemblyFinished>(); visitor.OnMessage(message); Assert.True(visitor.Finished.WaitOne(0)); }
public void FailureSetsStateToFailed(TestRunState initialState) { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener) { TestRunState = initialState }; visitor.OnMessage(new TestFailed()); Assert.Equal(TestRunState.Failure, visitor.TestRunState); }
public void Success_MovesToSuccess() { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener) { TestRunState = TestRunState.NoTests }; visitor.OnMessage(new TestPassed()); Assert.Equal(TestRunState.Success, visitor.TestRunState); }
public void Success_StaysInCurrentState(TestRunState initialState) { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener) { TestRunState = initialState }; visitor.OnMessage(new TestPassed()); Assert.Equal(initialState, visitor.TestRunState); }
public static void FailureSetsStateToFailed(TestRunState initialState) { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener, 42) { TestRunState = initialState }; visitor.OnMessage(Mocks.TestFailed(typeof(Object), "GetHashCode")); Assert.Equal(TestRunState.Failure, visitor.TestRunState); }
public static void Skip_MovesToSuccess() { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener, 42) { TestRunState = TestRunState.NoTests }; visitor.OnMessage(Substitute.For <ITestSkipped>()); Assert.Equal(TestRunState.Success, visitor.TestRunState); }
public static void Skip_StaysInCurrentState(TestRunState initialState) { var listener = Substitute.For <ITestListener>(); var visitor = new ResultVisitor(listener, 42) { TestRunState = initialState }; visitor.OnMessage(Substitute.For <ITestSkipped>()); Assert.Equal(initialState, visitor.TestRunState); }
public virtual TestRunState Run(IEnumerable<ITestCase> testCases, TestRunState initialRunState = TestRunState.NoTests) { try { var visitor = new ResultVisitor(testListener) { TestRunState = initialRunState }; frontController.Run(testCases.ToList(), visitor); visitor.Finished.WaitOne(); return visitor.TestRunState; } catch (Exception ex) { testListener.WriteLine("Error during test execution:\r\n" + ex, Category.Error); return TestRunState.Error; } }
public static void LogsTestFailure(IMessageSinkMessage message, string messageType) { var listener = Substitute.For <ITestListener>(); using (var visitor = new ResultVisitor(listener, 42) { TestRunState = TestRunState.NoTests }) { visitor.OnMessage(message); Assert.Equal(TestRunState.Failure, visitor.TestRunState); var testResult = listener.Captured(x => x.TestFinished(null)).Arg <TestResult>(); Assert.Equal($"*** {messageType} ***", testResult.Name); Assert.Equal(TestState.Failed, testResult.State); Assert.Equal(1, testResult.TotalTests); Assert.Equal("ExceptionType : This is my message \t\r\n", testResult.Message); Assert.Equal("Line 1\r\nLine 2\r\nLine 3", testResult.StackTrace); } }
public static void ConvertsITestPassed() { TestResult testResult = null; var listener = Substitute.For <ITestListener>(); listener.WhenAny(l => l.TestFinished(null)) .Do <TestResult>(result => testResult = result); var visitor = new ResultVisitor(listener, 42); var message = Mocks.TestPassed(typeof(string), "Contains", "Display Name", executionTime: 123.45M); visitor.OnMessage(message); Assert.NotNull(testResult); Assert.Same(typeof(string), testResult.FixtureType); Assert.Equal("Contains", testResult.Method.Name); Assert.Equal("Display Name", testResult.Name); Assert.Equal(TestState.Passed, testResult.State); Assert.Equal(123.45, testResult.TimeSpan.TotalMilliseconds); Assert.Equal(42, testResult.TotalTests); }
public void ConvertsITestFailed() { Exception ex; try { throw new Exception(); } catch (Exception e) { ex = e; } TestResult testResult = null; var listener = Substitute.For <ITestListener>(); listener.WhenAny(l => l.TestFinished(null)) .Do <TestResult>(result => testResult = result); var visitor = new ResultVisitor(listener); var message = new TestFailed(ex) { TestCase = new TestCase(typeof(string), "Contains"), TestDisplayName = "Display Name", ExecutionTime = 123.45M, }; visitor.OnMessage(message); Assert.NotNull(testResult); Assert.Same(typeof(string), testResult.FixtureType); Assert.Equal("Contains", testResult.Method.Name); Assert.Equal("Display Name", testResult.Name); Assert.Equal(TestState.Failed, testResult.State); Assert.Equal(123.45, testResult.TimeSpan.TotalMilliseconds); Assert.Equal(1, testResult.TotalTests); Assert.Equal(ExceptionUtility.GetMessage(ex), testResult.Message); Assert.Equal(ExceptionUtility.GetStackTrace(ex), testResult.StackTrace); }
public virtual TestRunState Run(IReadOnlyList<ITestCase> testCases = null, TestRunState initialRunState = TestRunState.NoTests) { try { if (testCases == null) testCases = Discover(); var visitor = new ResultVisitor(testListener, testCases.Count) { TestRunState = initialRunState }; toDispose.Push(visitor); var executionOptions = TestFrameworkOptions.ForExecution(configuration); xunit.RunTests(testCases, visitor, executionOptions); visitor.Finished.WaitOne(); return visitor.TestRunState; } catch (Exception ex) { testListener.WriteLine("Error during test execution:\r\n" + ex, Category.Error); return TestRunState.Error; } }
/// <summary> /// apply each result row to the visitor /// </summary> /// <param name="theVisitor">instance of the visitor delegate</param> public void for_each_row(ResultVisitor theVisitor) { this.command_.CommandText = this.sp_name_; SqlDataReader reader = null; try { reader = this.host_.exec_sp_command_for_reader(this.command_); while (reader.Read()) { object [] values = new object[reader.FieldCount]; reader.GetValues(values); theVisitor.take_row(values); } } finally { if (null != reader) { reader.Close(); } } }
public void ConvertsITestFailed() { Exception ex; try { throw new Exception(); } catch (Exception e) { ex = e; } TestResult testResult = null; var listener = Substitute.For<ITestListener>(); listener.WhenAny(l => l.TestFinished(null)) .Do<TestResult>(result => testResult = result); var visitor = new ResultVisitor(listener); var message = new TestFailed(ex) { TestCase = new TestCase(typeof(string), "Contains"), TestDisplayName = "Display Name", ExecutionTime = 123.45M, }; visitor.OnMessage(message); Assert.NotNull(testResult); Assert.Same(typeof(string), testResult.FixtureType); Assert.Equal("Contains", testResult.Method.Name); Assert.Equal("Display Name", testResult.Name); Assert.Equal(TestState.Failed, testResult.State); Assert.Equal(123.45, testResult.TimeSpan.TotalMilliseconds); Assert.Equal(1, testResult.TotalTests); Assert.Equal(ExceptionUtility.GetMessage(ex), testResult.Message); Assert.Equal(ExceptionUtility.GetStackTrace(ex), testResult.StackTrace); }
public void ConvertsITestPassed() { TestResult testResult = null; var listener = Substitute.For<ITestListener>(); listener.WhenAny(l => l.TestFinished(null)) .Do<TestResult>(result => testResult = result); var visitor = new ResultVisitor(listener); var message = new TestPassed { TestCase = new TestCase(typeof(string), "Contains"), TestDisplayName = "Display Name", ExecutionTime = 123.45M }; visitor.OnMessage(message); Assert.NotNull(testResult); Assert.Same(typeof(string), testResult.FixtureType); Assert.Equal("Contains", testResult.Method.Name); Assert.Equal("Display Name", testResult.Name); Assert.Equal(TestState.Passed, testResult.State); Assert.Equal(123.45, testResult.TimeSpan.TotalMilliseconds); Assert.Equal(1, testResult.TotalTests); }
/// <summary> /// Accept a ResultVisitor /// </summary> /// <param name="visitor">The visitor to accept</param> public override void Accept(ResultVisitor visitor) { visitor.Visit(this); }
/// <summary> /// Abstract method that accepts a ResultVisitor /// </summary> /// <param name="visitor">The visitor</param> public abstract void Accept(ResultVisitor visitor);
public void DefaultRunStateIsNoTests() { var listener = Substitute.For<ITestListener>(); var visitor = new ResultVisitor(listener); Assert.Equal(TestRunState.NoTests, visitor.TestRunState); }
public void FailureSetsStateToFailed(TestRunState initialState) { var listener = Substitute.For<ITestListener>(); var visitor = new ResultVisitor(listener) { TestRunState = initialState }; visitor.OnMessage(new TestFailed()); Assert.Equal(TestRunState.Failure, visitor.TestRunState); }
public void Success_MovesToSuccess() { var listener = Substitute.For<ITestListener>(); var visitor = new ResultVisitor(listener) { TestRunState = TestRunState.NoTests }; visitor.OnMessage(new TestPassed()); Assert.Equal(TestRunState.Success, visitor.TestRunState); }
public void Success_StaysInCurrentState(TestRunState initialState) { var listener = Substitute.For<ITestListener>(); var visitor = new ResultVisitor(listener) { TestRunState = initialState }; visitor.OnMessage(new TestPassed()); Assert.Equal(initialState, visitor.TestRunState); }