예제 #1
0
        public IValidationTarget <TType> Or(IValidationPredicate <TType> predicate)
        {
            predicate.ThrowIfNull();

            m_rules.Add(new ValidationRule <TType>(this).AddPredicate(predicate));
            return(this);
        }
예제 #2
0
 public IValidationRulePredicated <TModel> When(
     IValidationPredicate <TModel> predicate,
     params IValidationPredicate <TModel>[] predicates)
 {
     return(Builder.When(
                predicate.And(predicates).ToArray()));
 }
        public IValidationRule <TType> AddPredicate(IValidationPredicate <TType> predicate)
        {
            predicate.ThrowIfNull();

            m_predicates.Add(predicate);
            return(this);
        }
예제 #4
0
        public IValidationTarget <TType> And(IValidationPredicate <TType> predicate)
        {
            predicate.ThrowIfNull();

            m_rules.CurrentRule.AddPredicate(predicate);
            return(this);
        }
        public void ReturnDefaultValidationType()
        {
            // Arrange.
            IValidationPredicate validationPredicate = NullableNullValidationPredicate <int> .Instance;

            // Assert.
            Assert.AreEqual(ValidationType.Default, validationPredicate.ValidationType);
        }
        public void ReturnDefaultValidationType()
        {
            // Arrange.
            IValidationPredicate validationPredicate = GuidEmptyValidationPredicate.Instance;

            // Assert.
            Assert.AreEqual(ValidationType.Default, validationPredicate.ValidationType);
        }
예제 #7
0
        public void ReturnDefaultValidationType()
        {
            // Arrange.
            IValidationPredicate validationPredicate = EnumerableNotNullOrEmptyValidationPredicate <int[]> .Instance;

            // Assert.
            Assert.AreEqual(ValidationType.Default, validationPredicate.ValidationType);
        }
예제 #8
0
        public void ReturnDefaultValidationType()
        {
            // Arrange.
            IValidationPredicate validationPredicate = MemberOfEnumValidationPredicate <CustomEnum> .Instance;

            // Assert.
            Assert.AreEqual(ValidationType.Default, validationPredicate.ValidationType);
        }
        public void ReturnDefaultValidationType()
        {
            // Arrange.
            IValidationPredicate validationPredicate = StringNotNullOrWhiteSpaceValidationPredicate.Instance;

            // Assert.
            Assert.AreEqual(ValidationType.Default, validationPredicate.ValidationType);
        }
        public void AddValidationPredicate(IValidationPredicate <T> validationPredicate)
        {
            if (validationPredicate == null)
            {
                throw new ArgumentNullException("validationPredicate");
            }

            this.validationPredicates.Add(validationPredicate);
        }
예제 #11
0
        public IValidationRulePredicated <TModel> Or(
            IValidationPredicate <TModel> predicate,
            params IValidationPredicate <TModel>[] predicates)
        {
            _predicateGroups
            .Add(predicate.And(predicates).ToArray());

            return(this);
        }
예제 #12
0
        public override void Add(IValidationPredicate <TType> item)
        {
            item.ThrowIfNull();

            if (item.Rule is null || item.Rule != m_rule)
            {
                item.WithRule(m_rule);
            }

            base.Add(item);
        }
예제 #13
0
        public IValidationRulePredicated <TModel> Assert(
            IValidationPredicate <TModel> predicate,
            params IValidationPredicate <TModel>[] predicates)
        {
            if (predicate == null)
            {
                throw new ArgumentNullException("predicate");
            }

            return(Builder.Assert(
                       predicate.And(predicates).ToArray()));
        }
예제 #14
0
 public static IEnumerable <IValidationPredicate <TModel> > And <TModel>(
     this IValidationPredicate <TModel> predicate,
     IEnumerable <IValidationPredicate <TModel> > predicates)
 {
     return(new[] { predicate }.Concat(predicates));
 }
예제 #15
0
        public static IValidatableArgument <T> AddValidationPredicate <T>(this IArgument <T> @argument, IValidationPredicate <T> validationPredicate)
        {
            if (@argument == null)
            {
                throw new ArgumentNullException("@argument");
            }

            if (validationPredicate == null)
            {
                throw new ArgumentNullException("validationPredicate");
            }

            IValidatableArgument <T> validatableArgument = @argument.ToValidatableArgument();

            validatableArgument.AddValidationPredicate(validationPredicate);

            return(validatableArgument);
        }
예제 #16
0
 private Exception GetExceptionFromPredicate(IValidationPredicate <TType> predicate)
 {
     return(predicate.GenerateException(m_rule.Target.Name, m_rule.Target.ExceptionData));
 }
 public static bool Is <TModel>(
     this IValidationPredicate <TModel> predicate,
     TModel model)
 {
     return(predicate.IsAsync(model).Result);
 }