Esempio n. 1
0
        public void TestSimpleObjectValidation(string personId, string userName, string email, int expectedTotalFailedRules)
        {
            Validator <PersonMock, PersonMock.PersonValidationRule> personValidator =
                new Validator <PersonMock, PersonMock.PersonValidationRule>()
                .AddValidation(
                    PersonMock.PersonValidationRule.ValidIdRequired,
                    (person) => { return(!string.IsNullOrWhiteSpace(person.Id)); }
                    )
                .AddValidation(
                    PersonMock.PersonValidationRule.IdMaxLengthLimit,
                    (person) => { return(!(person.Id?.Length > 5)); }
                    )
                .AddValidation(
                    PersonMock.PersonValidationRule.UserNameMaxLengthLimit,
                    (person) => { return(!(person.UserName?.Length > 10)); }
                    )
                .AddValidation(
                    PersonMock.PersonValidationRule.EmailMaxLengthLimit,
                    (person) => { return(!(person.Email?.Length > 10)); }
                    )
            ;

            PersonMock validationSubject = new PersonMock()
            {
                Id = personId, UserName = userName, Email = email,
            };
            var failedValidationResults = personValidator.Validate(validationSubject);

            Assert.AreEqual(expectedTotalFailedRules, failedValidationResults.Count);
        }
Esempio n. 2
0
        public void TestStructuredObjectValidation(string token, string env, string personId, string userName, string email, int expectedTotalFailedRules)
        {
            Validator <PersonMock, PersonMock.PersonValidationRule> personValidator =
                new Validator <PersonMock, PersonMock.PersonValidationRule>()
                .AddValidation(
                    PersonMock.PersonValidationRule.ValidIdRequired,
                    (person) => { return(!string.IsNullOrWhiteSpace(person.Id)); }
                    )
                .AddValidation(
                    PersonMock.PersonValidationRule.IdMaxLengthLimit,
                    (person) => { return(!(person.Id?.Length > 5)); }
                    )
                .AddValidation(
                    PersonMock.PersonValidationRule.UserNameMaxLengthLimit,
                    (person) => { return(!(person.UserName?.Length > 10)); }
                    )
                .AddValidation(
                    PersonMock.PersonValidationRule.EmailMaxLengthLimit,
                    (person) => { return(!(person.Email?.Length > 10)); }
                    )
            ;

            Validator <ConfigMock, ConfigMock.ConfigValidationRule> configValidator =
                new Validator <ConfigMock, ConfigMock.ConfigValidationRule>()
                .AddValidation(
                    ConfigMock.ConfigValidationRule.ValidIdRequired,
                    (config) => { return(!string.IsNullOrWhiteSpace(config.Id)); }
                    )
                .AddValidation(
                    ConfigMock.ConfigValidationRule.IdMaxLengthLimit,
                    (config) => { return(!(config.Id?.Length > 6)); }
                    )
                .AddValidation(
                    ConfigMock.ConfigValidationRule.EnvironmentMaxLengthLimit,
                    (config) => { return(!(config.Environment?.Length > 5)); }
                    )
                .AddValidation(
                    ConfigMock.ConfigValidationRule.UserRequired,
                    (config) => { return(config.User != null); }
                    )
                .AddValidation(ConfigMock.ConfigValidationRule.ValidUser,
                               (config) => config.User,
                               personValidator
                               )
            ;

            PersonMock userMock = new PersonMock()
            {
                Id = personId, UserName = userName, Email = email,
            };
            ConfigMock configMock = new ConfigMock()
            {
                Id = token, Environment = env, User = userMock,
            };
            var failedValidationRules = configValidator.Validate(configMock);

            Assert.AreEqual(expectedTotalFailedRules, failedValidationRules.Count);
        }