public void FieldTypeMismatchExcludesValidation() { //Arrange var set = new TargetSet(); set.Add(new BadCustomer()); var validation = _validations.Validations() .Single(v => v.ContainingType == typeof(CustomerSimple) && v.Method.Name == nameof(CustomerSimple.SurnameIsMandatory)); var candidates = CandidateSelector.AllPossible(validation, set); //Act var error = ValidationRuleChecker.Check(candidates[0]).Single(); //Assert error.Message.Should().Contain("incorrect type"); }
internal static IEnumerable <RequiredValidation> Select(IValidationCatalog catalog, TargetSet targetSet) { var allPossible = catalog.Validations().SelectMany(v => CandidateSelector.AllPossible(v, targetSet)).ToList(); return(ValidationRuleChecker.Filter(allPossible)); }