Ejemplo n.º 1
0
        public void ResolveDependency_PassingSomeDependencyType_ShouldResolveFromAutofacLifetimeScope()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType <FakeConnection>();
            var container = builder.Build();

            var scope      = new AutofacDependencyLifetimeScope(container);
            var connection = scope.Resolve(typeof(FakeConnection));

            Assert.That(connection, Is.Not.Null);
            Assert.That(connection.GetType(), Is.EqualTo(typeof(FakeConnection)));
        }
Ejemplo n.º 2
0
        public void ResolveDependency_PassingDependencyTypeThatResolvesAsNull_ShouldNotFireDependencyResolvedEvent()
        {
            var eventFired = false;

            var builder = new ContainerBuilder();

            builder.Register <FakeConnection>(ctx => null);
            var container = builder.Build();

            var scope = new AutofacDependencyLifetimeScope(container);

            scope.DependencyResolved += e => eventFired = true;

            Assert.Throws <DependencyResolutionException>(() => scope.Resolve(typeof(FakeConnection)));

            Assert.That(eventFired, Is.False);
        }
Ejemplo n.º 3
0
        public void ResolveDependency_PassingKnownDependencyType_ShouldFireDependencyResolvedEvent()
        {
            DependencyResolvedEventArgs eventArgs = null;

            var builder = new ContainerBuilder();

            builder.RegisterType <FakeConnection>();
            var container = builder.Build();

            var scope = new AutofacDependencyLifetimeScope(container);

            scope.DependencyResolved += e =>
            {
                Assert.That(eventArgs, Is.Null);
                eventArgs = e;
            };

            Assert.That(scope.Resolve(typeof(FakeConnection)), Is.Not.Null);

            Assert.That(eventArgs, Is.Not.Null);
            Assert.That(eventArgs.LifetimeScope, Is.EqualTo(scope));
            Assert.That(eventArgs.DependencyType, Is.EqualTo(typeof(FakeConnection)));
            Assert.That(eventArgs.Dependency.GetType(), Is.EqualTo(typeof(FakeConnection)));
        }