public void ArrayDependencySource_accepts_Visitor()
        {
            var source = new ArrayDependencySource(typeof(IGateway));

            source.AcceptVisitor(theVisitor);

            theVisitor.AssertWasCalled(x => x.InlineEnumerable(source));
        }
        public void ArrayDependencySource_accepts_Visitor()
        {
            var source = new ArrayDependencySource(typeof(IGateway));

            source.AcceptVisitor(theVisitor);

            theVisitor.Received().InlineEnumerable(source);
        }
        public void return_type_of_ArrayDependencySource()
        {
            var gateway1 = new StubbedGateway();
            var gateway2 = new StubbedGateway();
            var gateway3 = new StubbedGateway();
            var array = new ArrayDependencySource(typeof(IGateway),
                Constant.For(gateway1),
                Constant.For(gateway2),
                Constant.For(gateway3));

            array.ReturnedType.ShouldEqual(typeof (IGateway[]));
        }
        public void can_build_with_ilist_dependency()
        {
            var gateway1 = new StubbedGateway();
            var gateway2 = new StubbedGateway();
            var gateway3 = new StubbedGateway();

            var build = new ConcreteBuild<GatewayIListUser>();
            var array = new ArrayDependencySource(typeof (IGateway),
                Constant.For(gateway1),
                Constant.For(gateway2),
                Constant.For(gateway3));

            build.ConstructorArgs(array);

            var arrayUser = build.Build<GatewayIListUser>(new FakeBuildSession());

            arrayUser.Gateways.ShouldHaveTheSameElementsAs(gateway1, gateway2, gateway3);
        }