Example #1
0
		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
 }
Example #3
0
        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>();
        }
Example #8
0
        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 AddChildKernelToTwoParentsThrowsException()
		{
			IKernel kernel2 = new DefaultKernel();

			IKernel subkernel = new DefaultKernel();

			kernel.AddChildKernel(subkernel);
			Assert.AreEqual(kernel, subkernel.Parent);

			kernel2.AddChildKernel(subkernel);
		}
		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>();
		}