public void ExternalInstancesBoom()
        {
            var d1      = new BuilderTests.Dep1();
            var builder = new ContainerBuilder();

            builder.Register(d1);
            builder.Register <GoBoom>();

            ConstructorFaultedException dme = null;

            Assert.Throws <ConstructorFaultedException>(() =>
            {
                try
                {
                    builder.Build();
                }
                catch (ConstructorFaultedException e)
                {
                    dme = e;
                    throw;
                }
            });

            Assert.Equal(0, dme.Created.Count);
        }
        public void ConstructorFaultedException()
        {
            var builder = new ContainerBuilder();

            builder.Register <GoBoom>();
            builder.Register <BuilderTests.Dep1>();


            ConstructorFaultedException dme = null;

            Assert.Throws <ConstructorFaultedException>(() =>
            {
                try
                {
                    builder.Build();
                }
                catch (ConstructorFaultedException e)
                {
                    dme = e;
                    throw;
                }
            });


            var created = dme.Created;

            Assert.NotNull(created);
            Assert.Equal(1, created.Count);
            Assert.IsType(typeof(BuilderTests.Dep1), created[0]);

            Assert.Equal("SingletonContainer.Tests.ExceptionTests.GoBoom(SingletonContainer.Tests.BuilderTests.Dep1)", dme.Message);

            Assert.NotNull(dme.InnerException);
            Assert.IsType(typeof(DirectoryNotFoundException), dme.InnerException);
        }