Exemplo n.º 1
0
        /// <inheritdoc />
        public object [] Create(Type type,
                                ParameterInfo [] arrayParameter,
                                int parameterIndex,
                                object parameterValue)
        {
            Guard.ArgumentNotNull(type,
                                  nameof(type));
            Guard.ArgumentNotNull(arrayParameter,
                                  nameof(arrayParameter));
            Guard.ArgumentBetween(parameterIndex,
                                  nameof(parameterIndex),
                                  0,
                                  arrayParameter.Length - 1);

            var parameters = _creator.Create(ToParameterInfos(arrayParameter));

            parameters [parameterIndex] = parameterValue;

            return(parameters);
        }
        public void Setup( )
        {
            _creator = Substitute.For <IArgumentsGenerator> ( );

            _type           = typeof(TestClassWithInterface);
            _arrayParameter = typeof(TestClassWithInterface).GetConstructors( )
                              .First( )
                              .GetParameters( );
            _parameterIndex = 0;
            _parameterValue = null;

            _createdParameters = new object []
            {
                new TestClass(0),
                Substitute.For <ISomething> ( ),
                "Text",
                0
            };

            _creator.Create(Arg.Any <IEnumerable <IParameterInfo> > ( ))
            .Returns(_createdParameters);
        }