public void InjectionToConstructorWithOneParameterSingletonWithOptimization()
{
var builder = new ContainerBuilder();
builder.RegisterType<Logger>().As<ILogger>().SingleInstance();
builder.RegisterType<ErrorHandler>().As<IErrorHandler>();
var container = builder.Build();
var obj = container.Resolve<ILogger>();
Assert.NotNull(obj);
var obj2 = container.Resolve<IErrorHandler>();
Assert.NotNull(obj2);
Assert.NotNull(obj2.Logger);
Assert.NotSame(obj, obj2);
Assert.Same(obj, obj2.Logger);
}