コード例 #1
0
 public void GetInstance_NullInstanceContext()
 {
     var data = new ServiceImplementationData();
     var container = new ContainerBuilder().Build();
     var provider = new AutofacInstanceProvider(container, data);
     var message = new TestMessage();
     Assert.Throws<ArgumentNullException>(() => provider.GetInstance(null, message));
 }
コード例 #2
0
        public void GetInstance_NullInstanceContext()
        {
            var data      = new ServiceImplementationData();
            var container = new ContainerBuilder().Build();
            var provider  = new AutofacInstanceProvider(container, data);
            var message   = new TestMessage();

            Assert.Throws <ArgumentNullException>(() => provider.GetInstance(null, message));
        }
コード例 #3
0
        public void LifetimeScopeDisposedWhenExceptionThrownInServiceConstructor()
        {
            var builder = new ContainerBuilder();
            var released = false;
            builder.RegisterType<Disposable>().OnRelease(d => released = true);
            builder.RegisterType<BadService>();
            var container = builder.Build();
            var data = new ServiceImplementationData { ImplementationResolver = l => l.Resolve<BadService>() };
            var provider = new AutofacInstanceProvider(container, data);
            var context = new InstanceContext(new object());

            Assert.Throws<DependencyResolutionException>(() => provider.GetInstance(context));

            Assert.True(released);
        }
コード例 #4
0
        public void LifetimeScopeDisposedWhenExceptionThrownInServiceConstructor()
        {
            var builder  = new ContainerBuilder();
            var released = false;

            builder.RegisterType <Disposable>().OnRelease(d => released = true);
            builder.RegisterType <BadService>();
            var container = builder.Build();
            var data      = new ServiceImplementationData {
                ImplementationResolver = l => l.Resolve <BadService>()
            };
            var provider = new AutofacInstanceProvider(container, data);
            var context  = new InstanceContext(new object());

            Assert.Throws <DependencyResolutionException>(() => provider.GetInstance(context));

            Assert.True(released);
        }