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())); } }
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); }
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 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))); }