//[Test] public async Task Sandbox() { var fileSystem = new FileSystem(); var vstest = new VsTestConsoleWrapper(@"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"); vstest.InitializeExtensions(Enumerable.Repeat(@"C:\Users\Jake\Documents\Visual Studio 2017\Projects\nunit3-vs-adapter\src\NUnitTestAdapter\bin\Debug\net35\NUnit3.TestAdapter.dll", 1)); var testCaseDiscoveryManager = new TestCaseDiscoveryManager(vstest); var testCaseManager = new TestResultManager(fileSystem, testCaseDiscoveryManager); var testCasesDiscoveredHandler = Substitute.For <EventHandler <DiscoveredTestsEventArgs> >(); testCaseDiscoveryManager.TestCasesDiscovered += testCasesDiscoveredHandler; var discoveryCompleteHandler = Substitute.For <EventHandler <DiscoveryCompletedEventArgs> >(); testCaseDiscoveryManager.DiscoveryCompleted += discoveryCompleteHandler; var messageReceivedHandler = Substitute.For <EventHandler <TestRunMessageEventArgs> >(); testCaseDiscoveryManager.MessageReceived += messageReceivedHandler; var testCasesAddedHandler = Substitute.For <EventHandler <TestResultsEventArgs> >(); testCaseManager.TestResultsAdded += testCasesAddedHandler; var testCasesModifiedHandler = Substitute.For <EventHandler <TestResultsEventArgs> >(); testCaseManager.TestResultsModified += testCasesModifiedHandler; var testCasesRemovedHandler = Substitute.For <EventHandler <TestResultsEventArgs> >(); testCaseManager.TestResultsRemoved += testCasesRemovedHandler; await testCaseManager.AddSourceAssemblyPathAsync(@"C:\Users\Jake\Documents\Visual Studio 2017\Projects\FaultDictionaryDebugger\CommonUtilitiesTests\bin\Debug\CommonUtilitiesTests.dll"); CollectionAssert.IsNotEmpty(testCaseManager.TestResults); }
public void Constructor_Otherwise_SetsIsDiscoveryInProcessToFalse() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var result = uut.IsDiscoveryInProgress; Assert.IsFalse(result); }
public void DiscoverTestCasesAsync_SourceAssemblyPathsIsNull_ThrowsException() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var result = Assert.Throws <ArgumentNullException>(() => uut.DiscoverTestCasesAsync(null)); Assert.AreEqual("sourceAssemblyPaths", result.ParamName); }
public void WaitForDiscoveryCompleteAsync_IsDiscoveryInProgressIsFalse_CompletesImmediately() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var result = uut.WaitForDiscoveryCompleteAsync().IsCompleted; Assert.IsTrue(result); }
public async Task CancelDiscoveryAsync_Always_InvokesVsTestCancelDiscovery() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); await uut.CancelDiscoveryAsync(); vstest.Received(1).CancelDiscovery(); }
public async Task DiscoverTestCasesAsync_Otherwise_InvokesVsTestDiscoverTestsWithThis() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); await uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()); vstest.Received(1).DiscoverTests(Arg.Any <IEnumerable <string> >(), Arg.Any <string>(), uut); }
public async Task DiscoverTestCasesAsync_Otherwise_InvokesVsTestDiscoverTestsWithSourceAssemblyPaths() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var sourceAssemblyPaths = Enumerable.Repeat("DummyAssembly", 1); await uut.DiscoverTestCasesAsync(sourceAssemblyPaths); vstest.Received(1).DiscoverTests(sourceAssemblyPaths, Arg.Any <string>(), Arg.Any <ITestDiscoveryEventsHandler>()); }
public void HandleRawMessage_IsDiscoveryInProgressIsFalse_DoesNotRaiseMessageReceived() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var handler = Substitute.For <EventHandler <TestRunMessageEventArgs> >(); uut.MessageReceived += handler; uut.HandleRawMessage("DummyMessage"); handler.DidNotReceive().Invoke(Arg.Any <object>(), Arg.Any <TestRunMessageEventArgs>()); }
public void HandleDiscoveryComplete_IsDiscoveryInProgressIsFalse_DoesNotRaiseDiscoveryCompleted() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var handler = Substitute.For <EventHandler <DiscoveryCompletedEventArgs> >(); uut.DiscoveryCompleted += handler; uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), false); handler.DidNotReceive().Invoke(Arg.Any <object>(), Arg.Any <DiscoveryCompletedEventArgs>()); }
public void HandleDiscoveryComplete_Otherwise_SetsIsDiscoveryInProgressToFalse() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), false); var result = uut.IsDiscoveryInProgress; Assert.IsFalse(result); }
public void HandleDiscoveryComplete_LastChunkIsNull_DoesNotRaiseTestCasesDiscovered() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var handler = Substitute.For <EventHandler <DiscoveredTestsEventArgs> >(); uut.TestCasesDiscovered += handler; uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); uut.HandleDiscoveryComplete(0, null, false); handler.DidNotReceive().Invoke(Arg.Any <object>(), Arg.Any <DiscoveredTestsEventArgs>()); }
public void HandleRawMessage_RawMessageIsNull_DoesNotRaiseMessageReceived() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var handler = Substitute.For <EventHandler <TestRunMessageEventArgs> >(); uut.MessageReceived += handler; uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); uut.HandleRawMessage(null); handler.DidNotReceive().Invoke(Arg.Any <object>(), Arg.Any <TestRunMessageEventArgs>()); }
public void DiscoverTestCasesAsync_IsDiscoveryInProgressIsTrue_DoesNotCompleteUntilHandleDiscoveryCompleteHasBeenInvoked() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); var task = uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()); Assert.IsFalse(task.IsCompleted); uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), false); task.Wait(); Assert.IsTrue(task.IsCompleted); }
public void DiscoverTestCasesAsync_IsDiscoveryInProgressIsTrue_DoesNotInvokeVsTestDiscoverTests() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); vstest.ClearReceivedCalls(); var task = uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()); uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), false); task.Wait(); vstest.DidNotReceive().DiscoverTests(Arg.Any <IEnumerable <string> >(), Arg.Any <string>(), Arg.Any <ITestDiscoveryEventsHandler>()); }
public void HandleRawMessage_Otherwise_RaisesMessageReceivedWithLevelAsInformational() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var handler = Substitute.For <EventHandler <TestRunMessageEventArgs> >(); TestRunMessageEventArgs args = null; handler.When(x => x.Invoke(Arg.Any <object>(), Arg.Any <TestRunMessageEventArgs>())).Do(x => args = (TestRunMessageEventArgs)x[1]); uut.MessageReceived += handler; uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); uut.HandleRawMessage("DummyMessage"); handler.Received(1).Invoke(uut, Arg.Any <TestRunMessageEventArgs>()); Assert.AreEqual(TestMessageLevel.Informational, args.Level); }
public void HandleDiscoveryComplete_LastChunkIsNull_RaisesDiscoveryCompletedWithTrueAsWasDiscoveryAborted() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var handler = Substitute.For <EventHandler <DiscoveryCompletedEventArgs> >(); DiscoveryCompletedEventArgs args = null; handler.When(x => x.Invoke(Arg.Any <object>(), Arg.Any <DiscoveryCompletedEventArgs>())).Do(x => args = (DiscoveryCompletedEventArgs)x[1]); uut.DiscoveryCompleted += handler; uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); uut.HandleDiscoveryComplete(0, null, false); handler.Received(1).Invoke(uut, Arg.Any <DiscoveryCompletedEventArgs>()); Assert.IsTrue(args.WasDiscoveryAborted); }
public void HandleDiscoveryComplete_TotalTestsIsEqualToLastChunkCount_RaisesDiscoveryCompleteWithIsAbortedAsWasDiscoveryAbortedAs(bool isAborted) { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); DiscoveryCompletedEventArgs args = null; var handler = Substitute.For <EventHandler <DiscoveryCompletedEventArgs> >(); handler.When(x => x.Invoke(Arg.Any <object>(), Arg.Any <DiscoveryCompletedEventArgs>())).Do(x => args = (DiscoveryCompletedEventArgs)x[1]); uut.DiscoveryCompleted += handler; uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), isAborted); handler.Received(1).Invoke(uut, Arg.Any <DiscoveryCompletedEventArgs>()); Assert.AreEqual(isAborted, args.WasDiscoveryAborted); }
public void HandleDiscoveryComplete_Otherwise_RaisesDiscoveryCompleteWithDiscoverTestCasesAsyncSourceAssemblyPaths() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var sourceAssemblyPaths = Enumerable.Repeat("DummyAssembly", 1); uut.DiscoverTestCasesAsync(sourceAssemblyPaths).Wait(); DiscoveryCompletedEventArgs args = null; var handler = Substitute.For <EventHandler <DiscoveryCompletedEventArgs> >(); handler.When(x => x.Invoke(Arg.Any <object>(), Arg.Any <DiscoveryCompletedEventArgs>())).Do(x => args = (DiscoveryCompletedEventArgs)x[1]); uut.DiscoveryCompleted += handler; uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), false); handler.Received(1).Invoke(uut, Arg.Any <DiscoveryCompletedEventArgs>()); CollectionAssert.AreEquivalent(sourceAssemblyPaths, args.SourceAssemblyPaths); }
public void DiscoverTestCasesAsync_VsTestDiscoverTestsHasNotReturned_DoesNotComplete() { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); var tcs = new TaskCompletionSource <int>(); vstest.When(x => x.DiscoverTests(Arg.Any <IEnumerable <string> >(), Arg.Any <string>(), Arg.Any <ITestDiscoveryEventsHandler>())) .Do(x => { tcs.Task.Wait(); }); var result = uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).IsCompleted; Assert.IsFalse(result); tcs.SetResult(0); }
public void HandleDiscoveryComplete_Otherwise_RaisesTestCasesDiscoveredWithLastChunkAsDiscoveredTestCases(int testCaseCount) { var vstest = Substitute.For <IVsTestConsoleWrapper>(); var uut = new TestCaseDiscoveryManager(vstest); uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait(); DiscoveredTestsEventArgs args = null; var handler = Substitute.For <EventHandler <DiscoveredTestsEventArgs> >(); handler.When(x => x.Invoke(Arg.Any <object>(), Arg.Any <DiscoveredTestsEventArgs>())).Do(x => args = (DiscoveredTestsEventArgs)x[1]); uut.TestCasesDiscovered += handler; var lastChunk = Enumerable.Repeat(1, testCaseCount).Select(x => new TestCase() { Id = Guid.NewGuid() }).ToArray(); uut.HandleDiscoveryComplete(0, lastChunk, false); handler.Received(1).Invoke(uut, Arg.Any <DiscoveredTestsEventArgs>()); CollectionAssert.AreEquivalent(lastChunk, args.DiscoveredTestCases); }