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 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 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_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_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 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); }