public void ShouldBeAbleToRegisterAFactoryDelegateWithDependencies()
{
// given
var container = new ObjectContainer();
var dependency = new VerySimpleClass();
container.RegisterInstanceAs<IInterface1>(dependency);
container.RegisterFactoryAs<IInterface3>(new Func<IInterface1, IInterface3>(if1 => new ClassWithSimpleDependency(if1)));
// when
var obj = container.Resolve<IInterface3>();
// then
Assert.IsNotNull(obj);
Assert.IsInstanceOf(typeof(ClassWithSimpleDependency), obj);
Assert.AreSame(dependency, ((ClassWithSimpleDependency)obj).Dependency);
}