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