public void ModifiedScopesHaveTheirOwnDelegate() { var attachingModule = new AttachingModule(); Assert.Equal(0, attachingModule.Registrations.Count); var builder = new ContainerBuilder(); builder.RegisterModule(attachingModule); using (var container = builder.Build()) { Assert.NotNull(container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey]); using (var outerScope = container.BeginLifetimeScope(c => c.RegisterType(typeof(int)))) { Assert.Equal( container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey], outerScope.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey]); outerScope.ComponentRegistry.Registered += (s, e) => { }; using (var innerScope = outerScope.BeginLifetimeScope()) { Assert.NotEqual( container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey], innerScope.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey]); } } } }
public void AttachesToRegistrations() { var attachingModule = new AttachingModule(); Assert.Equal(0, attachingModule.Registrations.Count); var builder = new ContainerBuilder(); builder.RegisterType(typeof(object)); builder.RegisterModule(attachingModule); builder.RegisterInstance("Hello!"); var container = builder.Build(); Assert.Equal(container.ComponentRegistry.Registrations.Count(), attachingModule.Registrations.Count); }
public void AttachesToRegistrationsInScope() { var attachingModule = new AttachingModule(); Assert.Equal(0, attachingModule.Registrations.Count); var builder = new ContainerBuilder(); builder.RegisterModule(attachingModule); using (var container = builder.Build()) using (var scope = container.BeginLifetimeScope(c => c.RegisterType(typeof(int)))) { var expected = container.ComponentRegistry.Registrations.Count() + scope.ComponentRegistry.Registrations.Count(); Assert.Equal(expected, attachingModule.Registrations.Count); } }
public void ModifiedScopesHaveTheirOwnDelegate() { var attachingModule = new AttachingModule(); Assert.Equal(0, attachingModule.Registrations.Count); var builder = new ContainerBuilder(); builder.RegisterModule(attachingModule); using (var container = builder.Build()) { Assert.NotNull(container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey]); using (container.BeginLifetimeScope(c => { c.RegisterCallback(outerBuilder => { Assert.Equal( container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey], outerBuilder.Properties[MetadataKeys.RegisteredPropertyKey]); outerBuilder.Registered += (s, e) => { }; Assert.NotEqual( container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey], outerBuilder.Properties[MetadataKeys.RegisteredPropertyKey]); }); c.RegisterCallback(outerBuilder => { Assert.Equal( container.ComponentRegistry.Properties[MetadataKeys.RegistrationSourceAddedPropertyKey], outerBuilder.Properties[MetadataKeys.RegistrationSourceAddedPropertyKey]); outerBuilder.RegistrationSourceAdded += (s, e) => { }; Assert.NotEqual( container.ComponentRegistry.Properties[MetadataKeys.RegisteredPropertyKey], outerBuilder.Properties[MetadataKeys.RegisteredPropertyKey]); }); c.RegisterType(typeof(Service1)); })) { } } }