Jwc.Experiment.Xunit.TestCommandContext.GetArguments C# (CSharp) Method

GetArguments() public method

Gets test arguments.
public GetArguments ( ITestMethodContext context ) : IEnumerable
context ITestMethodContext /// Information of the test method. ///
return IEnumerable
        public IEnumerable<object> GetArguments(ITestMethodContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");

            var parameters = context.ActualMethod.GetParameters();
            var explicitArguments = this.arguments.ToArray();

            if (explicitArguments.Length > parameters.Length)
                throw new InvalidOperationException(string.Format(
                    CultureInfo.CurrentCulture,
                    "Expected {0} parameters, got {1} parameters",
                    parameters.Length,
                    explicitArguments.Length));

            if (explicitArguments.Length == parameters.Length)
                return explicitArguments;

            var fixture = this.factory.Create(context);
            var autoArguments = parameters.Skip(explicitArguments.Length)
                .Select(p => fixture.CreateAnonymous(p));

            return explicitArguments.Concat(autoArguments);
        }