public void ValidateCorrectly()
        {
            //--Arrange
            var model = new ModelWithRegularExpressionFieldWithoutCustomErrorMessage
            {
                MultipleWordedField = "a"
            };
            var validationContext = new ValidationContext(model, null, null);
            var result            = new List <ValidationResult>();

            //--Act
            var valid = Validator.TryValidateObject(model, validationContext, result, true);

            //--Assert
            valid.ShouldBeTrue();
            result.Count.ShouldBe(0);
        }
        public void UseSnakeCaseFieldNameWhenSet()
        {
            //--Arrange
            var model = new ModelWithRegularExpressionFieldWithoutCustomErrorMessage
            {
                MultipleWordedField = "invalidregex"
            };
            var validationContext = new ValidationContext(model, null, null);
            var result            = new List <ValidationResult>();

            FormatResponseMessage.SetSnakeCaseSetting(true);

            //--Act
            var valid = Validator.TryValidateObject(model, validationContext, result, true);

            //--Assert
            valid.ShouldBeFalse();
            result.Count.ShouldBe(1);
            const string defaultErrorMsg = "The 'multiple_worded_field' field must match the regular expression: 'a|b'.";

            result[0].ErrorMessage
            .ShouldBe(ModelStateCustomErrorMessage.Create(1, defaultErrorMsg));
        }