public async Task Shared_async_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails() { var validator = new SharedAsyncConditionWithScopedUnlessValidator(); var person = new Person() { Id = 4 // triggers the shared When predicate }; person.Orders.Add(new Order()); // fails the inner Unless predicate var result = await validator.ValidateAsync(person); result.Errors.Count.ShouldEqual(1); }
public async Task Outer_async_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied() { var validator = new SharedAsyncConditionWithScopedUnlessValidator(); var person = new Person() { Id = 4, // triggers the shared When predicate Age = 70 // satisfies the outer Unless predicate }; person.Orders.Add(new Order()); // fails the inner Unless predicate var result = await validator.ValidateAsync(person); result.Errors.Count.ShouldEqual(0); }
public void Shared_async_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied() { var validator = new SharedAsyncConditionWithScopedUnlessValidator(); var person = new Person() { Id = 4 // triggers the shared When predicate }; person.CreditCard = "1234123412341234"; // satisfies the inner Unless predicate person.Orders.Add(new Order()); var result = validator.ValidateAsync(person).Result; result.Errors.Count.ShouldEqual(0); }