Ejemplo n.º 1
0
        public void CreateServiceHostThrowsIfContractTypeIsNull()
        {
            SetContainer(_container.Object);
            var fake = new ServiceHostFactoryStub();

            Assert.Throws <ArgumentNullException>("contractType", () => fake.CallCreateServiceHost(null, null));
        }
Ejemplo n.º 2
0
        public void CreateServiceHostThrowsIfContainerIsNull()
        {
            SetContainer(null);
            var fake = new ServiceHostFactoryStub();

            Assert.Throws <InvalidOperationException>(() => fake.CallCreateServiceHost(typeof(ServiceHostFactoryStub), null));
        }
Ejemplo n.º 3
0
        public void ServiceHostFactoryThrowsIfSingletonServiceIsNotRegisteredAsSingleton()
        {
            var contractType = typeof(IService);
            var stub         = new ServiceHostFactoryStub();
            var addresses    = new Uri[0];

            var(instance, _) = SetupFactoryForSingletonResolution <SingletonService>(contractType, typeof(SingletonService));

            Assert.Throws <InvalidOperationException>(() => stub.CallCreateServiceHost(contractType, addresses));

            _container.Verify(c => c.Resolve(contractType, IfUnresolved.Throw), Times.Never);
        }
Ejemplo n.º 4
0
        public void NonSingletonServicesAreNotCreatedAsSingletonAndNotSetInServiceHost()
        {
            var contractType = typeof(IService);
            var addresses    = new Uri[0];
            var stub         = new ServiceHostFactoryStub();

            var(instance, _) = SetupFactoryForSingletonResolution <NonSingletonService>(contractType, typeof(NonSingletonService));

            var createdServiceHost = stub.CallCreateServiceHost(contractType, addresses);

            _container.Verify(c => c.Resolve(contractType, IfUnresolved.Throw), Times.Never);
            Assert.Null(createdServiceHost.SingletonInstance);
        }
Ejemplo n.º 5
0
        public void SingletonServicesAreCreatedAsSingletonAndSetInServiceHost()
        {
            var contractType = typeof(IService);
            var stub         = new ServiceHostFactoryStub();
            var addresses    = new Uri[0];

            var(instance, factory) = SetupFactoryForSingletonResolution <SingletonService>(contractType, typeof(SingletonService));
            factory.SetupGet(f => f.Reuse).Returns(Reuse.Singleton);

            var createdServiceHost = stub.CallCreateServiceHost(contractType, addresses);

            _container.Verify(c => c.Resolve(contractType, IfUnresolved.Throw), Times.Once);
            Assert.Same(instance, createdServiceHost.SingletonInstance);
        }