コード例 #1
0
        public void RubberStamp_Rules_EnumeratedValidationRule_AddValidatorForSubType_Invalid()
        {
            var adrValidator = new Validator <Address>();

            adrValidator.AddRule(a => a.Street, con => con.IsNotNull());
            adrValidator.AddRule(a => a.Zip, con => con.GreaterThan(0));
            adrValidator.AddRule(a => a.City, con => con.IsNotNull());

            var rule = new EnumeratedValidationRule <Person, Address>(p => p.Addresses, () => adrValidator);

            var person = new Person
            {
                Addresses = new List <Address>
                {
                    new Address
                    {
                        Zip  = 1,
                        City = "test"
                    }
                }
            };
            var result = rule.Validate(person);

            Assert.That(result, Is.Not.Null);
        }
コード例 #2
0
        public void RubberStamp_Rules_EnumeratedValidationRule_AddValidatorForSubType_WithWhenCondition()
        {
            var adrValidator = new Validator <Address>();

            adrValidator.AddRule(a => a.Street, con => con.IsNotNull());
            adrValidator.AddRule(a => a.Zip, con => con.IsNotNull());
            adrValidator.AddRule(a => a.City, con => con.IsNotNull());

            var rule = new EnumeratedValidationRule <Person, Address>(p => p.Addresses, () => adrValidator);

            var person = new Person();

            Assert.Throws <ArgumentNullException>(() => rule.Validate(person));
        }