예제 #1
0
        public void CancelDiscoveryAsync_IsDiscoveryInProgressIsFalse_CompletesImmediately()
        {
            var vstest = Substitute.For <IVsTestConsoleWrapper>();

            var uut = new TestCaseDiscoveryManager(vstest);

            var result = uut.CancelDiscoveryAsync().IsCompleted;

            Assert.IsTrue(result);
        }
예제 #2
0
        public async Task CancelDiscoveryAsync_Always_InvokesVsTestCancelDiscovery()
        {
            var vstest = Substitute.For <IVsTestConsoleWrapper>();

            var uut = new TestCaseDiscoveryManager(vstest);

            await uut.CancelDiscoveryAsync();

            vstest.Received(1).CancelDiscovery();
        }
예제 #3
0
        public void CancelDiscoveryAsync_IsDiscoveryInProgressIsTrue_DoesNotCompleteUntilHandleDiscoveryCompleteHasBeenInvoked()
        {
            var vstest = Substitute.For <IVsTestConsoleWrapper>();

            var uut = new TestCaseDiscoveryManager(vstest);

            uut.DiscoverTestCasesAsync(Enumerable.Empty <string>()).Wait();
            var task = uut.CancelDiscoveryAsync();

            Assert.IsFalse(task.IsCompleted);

            uut.HandleDiscoveryComplete(0, Enumerable.Empty <TestCase>(), false);
            task.Wait();

            Assert.IsTrue(task.IsCompleted);
        }