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