/// <summary>
        /// Creates an instance to the platform service for a test source host.
        /// </summary>
        /// <param name="source">
        /// The source.
        /// </param>
        /// <param name="runSettings">
        /// The run Settings for the session.
        /// </param>
        /// <param name="frameworkHandle">
        /// The handle to the the test platform.
        /// </param>
        /// <returns>
        /// Returns the host for the source provided.
        /// </returns>
        public ITestSourceHost CreateTestSourceHost(
            string source,
            TestPlatform.ObjectModel.Adapter.IRunSettings runSettings,
            TestPlatform.ObjectModel.Adapter.IFrameworkHandle frameworkHandle)
        {
            var testSourceHost = new TestSourceHost(source, runSettings, frameworkHandle);

            testSourceHost.SetupHost();

            return(testSourceHost);
        }
Esempio n. 2
0
        public void DisposeShouldSetTestHostShutdownOnIssueWithAppDomainUnload()
        {
            // Arrange
            var frameworkHandle   = new Mock <IFrameworkHandle>();
            var testableAppDomain = new Mock <IAppDomain>();

            testableAppDomain.Setup(ad => ad.CreateDomain(It.IsAny <string>(), It.IsAny <Evidence>(), It.IsAny <AppDomainSetup>())).Returns(AppDomain.CurrentDomain);
            testableAppDomain.Setup(ad => ad.Unload(It.IsAny <AppDomain>())).Throws(new CannotUnloadAppDomainException());
            var sourceHost = new TestSourceHost(typeof(DesktopTestSourceHostTests).Assembly.Location, null, frameworkHandle.Object, testableAppDomain.Object);

            sourceHost.SetupHost();

            // Act
            sourceHost.Dispose();

            // Assert
            frameworkHandle.VerifySet(fh => fh.EnableShutdownAfterTestRun = true);
        }
Esempio n. 3
0
        public void CreateInstanceForTypeShouldCreateTheTypeInANewAppDomain()
        {
            // Setup
            DummyClass dummyclass         = new DummyClass();
            int        currentAppDomainId = dummyclass.AppDomainId;

            TestSourceHost sut = new TestSourceHost(Assembly.GetExecutingAssembly().Location, null, null);

            sut.SetupHost();

            // Execute
            var expectedObject = sut.CreateInstanceForType(typeof(DummyClass), null) as DummyClass;

            int newAppDomainId = currentAppDomainId + 10;  // not equal to currentAppDomainId

            if (expectedObject != null)
            {
                newAppDomainId = expectedObject.AppDomainId;
            }

            // Assert
            Assert.AreNotEqual(currentAppDomainId, newAppDomainId);
        }