public void TestSealContainer() { var container = new QuickInjectContainer(); var lifetimeManager = new SynchronizedTestLifetimeManager(); container.RegisterType <IA>(new ParameterizedLambdaExpressionInjectionFactory <C, IA>(new ExceptionThrowingCodeProvider())); container.SealContainer(); container.RegisterType <F>(lifetimeManager); container.Resolve <F>(); }
public void ExceptionThrowingFactoryMethodDoesNotDeadLock() { var container = new QuickInjectContainer(); var lifetimeManager = new SynchronizedTestLifetimeManager(); container.RegisterType <IA>(new ParameterizedLambdaExpressionInjectionFactory <C, IA>(new ExceptionThrowingCodeProvider())); container.RegisterType <F>(lifetimeManager); container.SealContainer(); try { container.Resolve <F>(); } finally { Assert.AreEqual(true, lifetimeManager.RecoverCalled); } }