public void AddingDependencyToServiceWithCustomDependency()
		{
			var k = new DefaultKernel();
			((IKernel)k).Register(Component.For(typeof(NeedClassWithCustomerDependency)).Named("NeedClassWithCustomerDependency"));
			((IKernel)k).Register(Component.For(typeof(HasCustomDependency)).Named("HasCustomDependency"));

			Assert.AreEqual(HandlerState.WaitingDependency, k.GetHandler("HasCustomDependency").CurrentState);

			var hash = new Dictionary<object, object>();
			hash["name"] = new CompA();
			k.RegisterCustomDependencies("HasCustomDependency", hash);
			Assert.AreEqual(HandlerState.Valid, k.GetHandler("HasCustomDependency").CurrentState);

			Assert.IsNotNull(k.Resolve(typeof(NeedClassWithCustomerDependency)));
		}
		public void AddingDependencyToServiceWithCustomDependency()
		{
			var kernel = new DefaultKernel();
			kernel.Register(Component.For<NeedClassWithCustomerDependency>(),
			                Component.For<HasCustomDependency>().DependsOn(new Dictionary<object, object> { { "name", new CompA() } }));

			Assert.AreEqual(HandlerState.Valid, kernel.GetHandler(typeof(HasCustomDependency)).CurrentState);
			Assert.IsNotNull(kernel.Resolve(typeof(NeedClassWithCustomerDependency)));
		}
        public void AddingDependencyToServiceWithCustomDependency()
        {
            var kernel = new DefaultKernel();

            kernel.Register(Component.For <NeedClassWithCustomerDependency>(),
                            Component.For <HasCustomDependency>().DependsOn(new Dictionary <object, object> {
                { "name", new CompA() }
            }));

            Assert.AreEqual(HandlerState.Valid, kernel.GetHandler(typeof(HasCustomDependency)).CurrentState);
            Assert.IsNotNull(kernel.Resolve(typeof(NeedClassWithCustomerDependency)));
        }
        public void TryResolvingViaChildKernelShouldNotThrowException()
        {
            using (var childKernel = new DefaultKernel())
            {
                Kernel.Register(Component.For <BookStore>());
                Kernel.AddChildKernel(childKernel);
                var handler = childKernel.GetHandler(typeof(BookStore));

                // Assert setup invariant
                Assert.IsInstanceOf <ParentHandlerWrapper>(handler);

                Assert.DoesNotThrow(() => handler.TryResolve(CreationContext.CreateEmpty()));
            }
        }
Esempio n. 5
0
		public void WillAskResolverWhenTryingToResolveDependencyAfterAnotherHandlerWasRegistered()
		{
			FooBarResolver resolver = new FooBarResolver();

			IKernel kernel = new DefaultKernel();
			kernel.Resolver.AddSubResolver(resolver);

			kernel.AddComponent("foo", typeof(Foo));
			IHandler handler = kernel.GetHandler("foo");
			Assert.AreEqual(HandlerState.WaitingDependency, handler.CurrentState);

			resolver.Result = 15;

			kernel.RaiseHandlerRegistered(null);//should force reevaluation of state

			Assert.AreEqual(HandlerState.Valid, handler.CurrentState);
		}
Esempio n. 6
0
		public void WillAskResolverWhenTryingToResolveDependencyAfterAnotherHandlerWasRegistered()
		{
			var resolver = new FooBarResolver();

			IKernel kernel = new DefaultKernel();
			kernel.Resolver.AddSubResolver(resolver);

			kernel.Register(Component.For<Foo>());
			var handler = kernel.GetHandler(typeof(Foo));

			Assert.AreEqual(HandlerState.WaitingDependency, handler.CurrentState);

			resolver.Result = 15;

			kernel.Register(Component.For<A>());

			Assert.AreEqual(HandlerState.Valid, handler.CurrentState);
		}
Esempio n. 7
0
        public void WillAskResolverWhenTryingToResolveDependencyAfterAnotherHandlerWasRegistered()
        {
            var resolver = new FooBarResolver();

            IKernel kernel = new DefaultKernel();

            kernel.Resolver.AddSubResolver(resolver);

            kernel.Register(Component.For <Foo>());
            var handler = kernel.GetHandler(typeof(Foo));

            Assert.AreEqual(HandlerState.WaitingDependency, handler.CurrentState);

            resolver.Result = 15;

            kernel.Register(Component.For <A>());

            Assert.AreEqual(HandlerState.Valid, handler.CurrentState);
        }
		public void AddingDependencyToServiceWithCustomDependency()
		{
			DefaultKernel k = new DefaultKernel();
			k.AddComponent("NeedClassWithCustomerDependency",typeof(NeedClassWithCustomerDependency));
			k.AddComponent("HasCustomDependency", typeof(HasCustomDependency));

			Assert.AreEqual(HandlerState.WaitingDependency, k.GetHandler("HasCustomDependency").CurrentState);

			Hashtable hash = new Hashtable();
			hash["name"] = new CompA();
			k.RegisterCustomDependencies("HasCustomDependency", hash);
			Assert.AreEqual(HandlerState.Valid, k.GetHandler("HasCustomDependency").CurrentState);

			Assert.IsNotNull(k.Resolve(typeof(NeedClassWithCustomerDependency)));
		}