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))); }
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); }
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))); }