public void AddingComponentToRootKernelWhenChildKernelHasStartableFacility() { IKernel kernel = new DefaultKernel(); IKernel childKernel = new DefaultKernel(); kernel.AddChildKernel(childKernel); childKernel.AddFacility(new StartableFacility()); kernel.Register(Component.For(typeof (A)).Named("string")); // exception here }
public void AddingComponentToRootKernelWhenChildKernelHasStartableFacility() { IKernel kernel = new DefaultKernel(); IKernel childKernel = new DefaultKernel(); kernel.AddChildKernel(childKernel); childKernel.AddFacility("StartableFacility", new StartableFacility()); kernel.AddComponent("string", typeof(String)); // exception here }
public void AddingComponentToRootKernelWhenChildKernelHasStartableFacility() { IKernel kernel = new DefaultKernel(); IKernel childKernel = new DefaultKernel(); kernel.AddChildKernel(childKernel); childKernel.AddFacility(new StartableFacility()); kernel.Register(Component.For(typeof(String)).Named("string")); // exception here }
public void AddChildKernelToTwoParentsThrowsException() { IKernel kernel2 = new DefaultKernel(); IKernel subkernel = new DefaultKernel(); kernel.AddChildKernel(subkernel); Assert.AreEqual(kernel, subkernel.Parent); kernel2.AddChildKernel(subkernel); }
public void ChildDependenciesIsSatisfiedEvenWhenComponentTakesLongToBeAddedToParentContainer() { DefaultKernel container = new DefaultKernel(); DefaultKernel childContainer = new DefaultKernel(); container.AddChildKernel(childContainer); childContainer.AddComponent("component", typeof(Component)); container.AddComponent("service1", typeof(IService), typeof(Service)); Component comp = (Component) childContainer[typeof(Component)]; }
public void ChildDependenciesIsSatisfiedEvenWhenComponentTakesLongToBeAddedToParentContainer() { DefaultKernel container = new DefaultKernel(); DefaultKernel childContainer = new DefaultKernel(); container.AddChildKernel(childContainer); ((IKernel)childContainer).Register(Component.For(typeof(UsesIEmptyService)).Named("component")); ((IKernel)container).Register(Component.For(typeof(IEmptyService)).ImplementedBy(typeof(EmptyService)).Named("service1")); UsesIEmptyService comp = (UsesIEmptyService) childContainer[typeof(UsesIEmptyService)]; }
public void ChildDependenciesIsSatisfiedEvenWhenComponentTakesLongToBeAddedToParentContainer() { var container = new DefaultKernel(); var childContainer = new DefaultKernel(); container.AddChildKernel(childContainer); childContainer.Register(Component.For(typeof(UsesIEmptyService)).Named("component")); container.Register( Component.For(typeof(IEmptyService)).ImplementedBy(typeof(EmptyServiceA)).Named("service1")); var comp = childContainer.Resolve <UsesIEmptyService>(); }
public void AddChildKernelToTwoParentsThrowsException() { var expectedMessage = "You can not change the kernel parent once set, use the RemoveChildKernel and AddChildKernel methods together to achieve this."; IKernel kernel2 = new DefaultKernel(); IKernel subkernel = new DefaultKernel(); Kernel.AddChildKernel(subkernel); Assert.AreEqual(Kernel, subkernel.Parent); var exception = Assert.Throws <KernelException>(() => kernel2.AddChildKernel(subkernel)); Assert.AreEqual(exception.Message, expectedMessage); }
public void Three_level_hierarchy([Values(0, 1, 2)] int parentComponentContainer, [Values(0, 1, 2)] int childComponentContainer) { var subKernel = new DefaultKernel(); var subSubKernel = new DefaultKernel(); kernel.AddChildKernel(subKernel); subKernel.AddChildKernel(subSubKernel); var containers = new[] { kernel, subKernel, subSubKernel }; containers[parentComponentContainer].Register(Component.For <UsesSimpleComponent1>()); containers[childComponentContainer].Register(Component.For <SimpleComponent1>()); subSubKernel.Resolve <UsesSimpleComponent1>(); }
public void Three_level_hierarchy([Values(0, 1, 2)] int parentComponentContainer, [Values(0, 1, 2)] int childComponentContainer) { var subKernel = new DefaultKernel(); var subSubKernel = new DefaultKernel(); kernel.AddChildKernel(subKernel); subKernel.AddChildKernel(subSubKernel); var containers = new[] { kernel, subKernel, subSubKernel }; containers[parentComponentContainer].Register(Component.For<UsesSimpleComponent1>()); containers[childComponentContainer].Register(Component.For<SimpleComponent1>()); subSubKernel.Resolve<UsesSimpleComponent1>(); }
public void ChildDependenciesIsSatisfiedEvenWhenComponentTakesLongToBeAddedToParentContainer() { var container = new DefaultKernel(); var childContainer = new DefaultKernel(); container.AddChildKernel(childContainer); childContainer.Register(Component.For(typeof(UsesIEmptyService)).Named("component")); container.Register( Component.For(typeof(IEmptyService)).ImplementedBy(typeof(EmptyServiceA)).Named("service1")); var comp = childContainer.Resolve<UsesIEmptyService>(); }