Esempio n. 1
0
        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>());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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>());
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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>());
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
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);
        }