public void AutofacContainerBuilderTests_ForInstanceOfType_RegisteredTypeResoslvable()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.ForInstanceOfType(new Foo());
            var resolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(resolver.Resolve <Foo>());
        }
        public void AutofacContainerBuilderTests_TypesRegistrableUsingImplementation()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.ForInstanceOfType(new Foo())
            .KnownAs(typeof(IFoo));
            var dependencyResolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(dependencyResolver.Resolve <IFoo>());
        }
        public void AutofacContainerBuilderTests_NamedRegistration_ResolvableByName()
        {
            //Arrange
            var builder = new AutofacContainerBuilder();

            //Act
            builder.ForInstanceOfType(new Foo())
            .Named <Foo>("name")
            ;
            var resolver = builder.Build();

            //Assert
            Assert.IsNotNull(resolver.Resolve <Foo>("name"));
        }
        public void AutofacContainerBuilderTests_NamedRegistration_InvalidNameFailsResolution()
        {
            //Arrange
            var builder = new AutofacContainerBuilder();

            //Act
            builder.ForInstanceOfType(new Foo())
            .Named <Foo>("name");
            var resolver = builder.Build();

            //Assert
            var foo = resolver.TryResolve <Foo>("invalid");

            Assert.IsNotNull(foo);
            Assert.IsFalse(foo.Success);
        }