/// <summary> /// Validates the Formatters from action result containing one. /// </summary> /// <param name="actionResult">Action result with Formatters.</param> /// <param name="mediaTypeFormatter">Expected MediaTypeFormatter.</param> /// <param name="failedValidationAction">Action to call in case of failed validation.</param> public static void ValidateMediaTypeFormatter( dynamic actionResult, MediaTypeFormatter mediaTypeFormatter, Action <string, string, string> failedValidationAction) { RuntimeBinderValidator.ValidateBinding(() => { var formatters = TryGetMediaTypeFormatters(actionResult) as IEnumerable <MediaTypeFormatter>; if (formatters == null || formatters.All(f => Reflection.AreDifferentTypes(f, mediaTypeFormatter))) { failedValidationAction( "Formatters", string.Format("to contain {0}", mediaTypeFormatter.GetName()), "none was found"); } }); }