public void Container_Uses_Bar_As_IBar_Argument()
        {
            var builder = new ContainerBuilder();
            builder.Register<IFoo, Foo>();

            var container = builder.Build();

            Bar bar = new Bar();
            var instance = container.Resolve<IFoo>(bar);

            Assert.AreSame(bar, instance.Bar);
        }
        public void Foo_is_resolved_with_IBar_argument_constructor_if_Bar_argument_is_provided()
        {
            var builder = new ContainerBuilder();

            Bar bar = new Bar();
            builder.Register<IFoo, Foo>().WithArguments(bar);

            var container = builder.Build();

            var instance = container.Resolve<IFoo>();

            Assert.AreSame(bar, instance.Bar);
        }