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);
        }
Exemplo n.º 3
0
        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);
        }