/// <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");
         }
     });
 }