public void When_ObjectToValidateDoesNotMatchPredicateRequirements_Then_ListWithValidationErrorIsReturned() { // Arrange: var errorMessage = "cannot be null"; var errorCode = "NOT_NULL"; Predicate <string> isNotNullPredicate = s => s != null; string toValidate = null; var toValidateAsObj = (object)toValidate; // Act: var validationRule = new SyncValidationRule <string>(isNotNullPredicate, errorMessage, errorCode); var result = validationRule.Validate(toValidate); var resultForObj = validationRule.Validate(toValidateAsObj); // Assert: result.Count.Should().Be(1); result.First().ErrorMessage.Should().Be("cannot be null"); result.First().ErrorCode.Should().Be("NOT_NULL"); result.First().PropertyPath.IsEmpty.Should().BeTrue(); result.First().ProvidedValue.Should().Be(toValidate); resultForObj.Count.Should().Be(1); resultForObj.First().ErrorMessage.Should().Be("cannot be null"); resultForObj.First().ErrorCode.Should().Be("NOT_NULL"); resultForObj.First().PropertyPath.IsEmpty.Should().BeTrue(); resultForObj.First().ProvidedValue.Should().Be(toValidate); }
public TPropertyValidator AddRule(Predicate <TProp> predicate, string errorMessage, string errorCode = null) { var validationRule = new SyncValidationRule <TProp>(predicate, errorMessage, errorCode); ValidationTasks.Add(new ValidationTask(validationRule, false)); return(PropertyValidator); }
public TBuilder AddRule(Predicate <TProperty> validationPredicate, string errorMessage, string errorCode = null) { var rule = new SyncValidationRule <TProperty>(validationPredicate, errorMessage, errorCode); BasePropertyValidator.Rules.Add(rule); return(_builder); }
public void When_ObjectToValidateMatchPredicateRequirements_Then_EmptyListOfErrorsIsReturned() { // Arrange: var errorMessage = "cannot be null"; var errorCode = "NOT_NULL"; Predicate <string> isNotNullPredicate = s => s != null; var toValidate = "some value"; var toValidateAsObj = (object)toValidate; // Act: var validationRule = new SyncValidationRule <string>(isNotNullPredicate, errorMessage, errorCode); var result = validationRule.Validate(toValidate); var resultForObj = validationRule.Validate(toValidateAsObj); // Assert: result.Count.Should().Be(0); resultForObj.Count.Should().Be(0); }