public void BuildUpAnExistingObjectInstance() { IContainer container = CreateTarget(); var demoInstance = new Demo(222); container.Register <IDemo>(demoInstance); ObjectToBuild otb = new ObjectToBuild(); container.BuildUp(otb); // Normal property injection otb.Demo.Should().NotBeNull(); otb.Demo.Should().BeSameAs(demoInstance); // Property injection for container insself otb.Container.Should().BeSameAs(container); }
public void Create_container_with_serviceProvider() { IServiceProvider provider = new TestServiceProvider(); IContainer container = new Container(provider); var theDemo = container.Resolve <IDemo>(); theDemo.Should().NotBeNull(); theDemo.GetId().Should().Be(666); theDemo.Name.Should().Be("FromServiceProvider"); theDemo = container.ResolveAll <IDemo>().Single(); theDemo.Should().NotBeNull(); theDemo.GetId().Should().Be(666); theDemo.Name.Should().Be("FromServiceProvider"); var demo = container.Resolve <Demo>(); demo.Should().NotBeNull(); demo.GetId().Should().Be(666); demo.Name.Should().Be("FromServiceProvider"); var toBuild = new ObjectToBuild(); container.BuildUp(toBuild); toBuild.Demo.Should().NotBeNull(); theDemo.Should().BeSameAs(theDemo); toBuild.Container.Should().BeSameAs(container); toBuild.ServiceProvider.Should().BeSameAs(provider); toBuild.PrivateDemo.Should().BeNull(); toBuild.ProtectedDemo.Should().BeNull(); container.BuildUp(toBuild, new AttributePropertySelectionStrategy(true)); toBuild.NoSetterDemo.Should().BeNull(); toBuild.PrivateDemo.Should().NotBeNull(); toBuild.ProtectedDemo.Should().NotBeNull(); var named = container.ResolveNamed <IConvertible>("oha"); named.Should().BeNull(); }
public void BuildUpAnObjectWithTheServiceProviderDependencies() { IServiceProvider provider = new TestServiceProvider(); IContainer container = new Container(provider); var toBuild = new ObjectToBuild(); container.BuildUp(toBuild); toBuild.Demo.Should().NotBeNull(); toBuild.Container.Should().BeSameAs(container); toBuild.ServiceProvider.Should().BeSameAs(provider); toBuild.PrivateDemo.Should().BeNull(); toBuild.ProtectedDemo.Should().BeNull(); container.BuildUp(toBuild, new AttributePropertySelectionStrategy(true)); toBuild.NoSetterDemo.Should().BeNull(); toBuild.PrivateDemo.Should().NotBeNull(); toBuild.ProtectedDemo.Should().NotBeNull(); }