コード例 #1
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;

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

			Assert.AreEqual(HandlerState.Valid, handler.CurrentState);
		}