public void TestCleanup()
 {
     this.mockDiscoveryManager           = null;
     this.mockTestHostManagerFactory     = null;
     this.inProcessProxyDiscoveryManager = null;
     this.mockTestHostManager            = null;
 }
 public InProcessProxyDiscoveryManagerTests()
 {
     this.mockTestHostManagerFactory = new Mock <ITestHostManagerFactory>();
     this.mockDiscoveryManager       = new Mock <IDiscoveryManager>();
     this.mockTestHostManager        = new Mock <ITestRuntimeProvider>();
     this.mockTestHostManagerFactory.Setup(o => o.GetDiscoveryManager()).Returns(this.mockDiscoveryManager.Object);
     this.inProcessProxyDiscoveryManager = new InProcessProxyDiscoveryManager(this.mockTestHostManager.Object, this.mockTestHostManagerFactory.Object);
 }
        public void DiscoverTestRunShouldAllowRuntimeProviderToUpdateAdapterSource()
        {
            var inputSources = new List <string> {
                "test.dll"
            };
            var discoveryCriteria = new DiscoveryCriteria(inputSources, 1, string.Empty);
            var mockTestDiscoveryEventsHandler = new Mock <ITestDiscoveryEventsHandler2>();
            var manualResetEvent = new ManualResetEvent(false);

            this.mockTestHostManager.Setup(hm => hm.GetTestSources(discoveryCriteria.Sources)).Returns(discoveryCriteria.Sources);
            this.mockDiscoveryManager.Setup(o => o.DiscoverTests(discoveryCriteria, mockTestDiscoveryEventsHandler.Object)).Callback(
                () => manualResetEvent.Set());

            this.inProcessProxyDiscoveryManager = new InProcessProxyDiscoveryManager(this.mockTestHostManager.Object, this.mockTestHostManagerFactory.Object);
            this.inProcessProxyDiscoveryManager.DiscoverTests(discoveryCriteria, mockTestDiscoveryEventsHandler.Object);

            Assert.IsTrue(manualResetEvent.WaitOne(5000), "IDiscoveryManager.DiscoverTests should get called");
            this.mockTestHostManager.Verify(hm => hm.GetTestSources(inputSources), Times.Once);
        }