/// <summary>
 /// Validation collection attribute based on attribute test builder.
 /// </summary>
 /// <param name="attributes">Collection of attributes to validate.</param>
 /// <param name="attributesTestBuilder">Test builder containing attribute specific validation.</param>
 /// <param name="failedValidationAction">Action to call in case of failed validation.</param>
 public static void ValidateAttributes(
     IEnumerable<object> attributes,
     BaseAttributesTestBuilder attributesTestBuilder,
     Action<string, string> failedValidationAction)
 {
     var attributesList = attributes.ToList();
     ValidateNumberOfAttributes(attributesList, failedValidationAction);
     var validations = attributesTestBuilder.GetAttributeValidations();
     validations.ForEach(v => v(attributesList));
 }
        /// <summary>
        /// Validation collection attribute based on attribute test builder.
        /// </summary>
        /// <param name="attributes">Collection of attributes to validate.</param>
        /// <param name="attributesTestBuilder">Test builder containing attribute specific validation.</param>
        /// <param name="failedValidationAction">Action to call in case of failed validation.</param>
        public static void ValidateAttributes(
            IEnumerable <object> attributes,
            BaseAttributesTestBuilder attributesTestBuilder,
            Action <string, string> failedValidationAction)
        {
            var attributesList = attributes.ToList();

            ValidateNumberOfAttributes(attributesList, failedValidationAction);
            var validations = attributesTestBuilder.GetAttributeValidations();

            validations.ForEach(v => v(attributesList));
        }