private bool ResolveArgumentsFromTypes(IEnumerable <Type> argumentTypes, ICollection <object> arguments, IFakeObjectContainer container) { foreach (var argumentType in argumentTypes) { object resolvedArgument = null; if (container.TryCreateFakeObject(argumentType, null, out resolvedArgument)) { arguments.Add(resolvedArgument); } else if (TryCreateValueTypeArgument(argumentType, out resolvedArgument)) { arguments.Add(resolvedArgument); } else if (TryCreateProxiedArgument(argumentType, container, out resolvedArgument)) { arguments.Add(resolvedArgument); } else { return(false); } } return(true); }