public void AddCustomPropertyExpressionTest()
        {
            IfPropertyExpressionsContainer.AddOrOverride("invalid", new CustomInvalidPropertyExpression());
            var model = new CustomExpressionModel {
                Value = "Test"
            };

            Assert.IsFalse(model.IsValid());
        }
Esempio n. 2
0
        public bool IsValid(object value, object dependentValue)
        {
            IIfPropertyExpression isEqualExpression = IfPropertyExpressionsContainer.Get(EqualTo);

            if (dependentValue is object[] values)
            {
                return(values.Any(val => isEqualExpression.IsValid(value, val)));
            }

            return(isEqualExpression.IsValid(value, dependentValue));
        }
        public void NotOverrideExistingPropertyExpressionAfterCreateObjectTest()
        {
            var model = new Model {
                Value = "Test"
            };

            Assert.IsTrue(model.IsValid());

            IfPropertyExpressionsContainer.AddOrOverride(EqualTo, new CustomInvalidPropertyExpression());
            Assert.IsTrue(model.IsValid());
        }
        public void OverrideExistingPropertyIfNotValidYetExpressionTest()
        {
            IfPropertyExpressionsContainer.AddOrOverride(EqualTo, new CustomInvalidPropertyExpression());
            var model = new NotEvaluatedModel {
                Value = "Test"
            };

            Assert.IsFalse(model.IsValid());

            IfPropertyExpressionsContainer.Clear();
            Assert.IsFalse(model.IsValid());
        }
Esempio n. 5
0
        public bool IsValid(object value, object dependentValue)
        {
            if (value == null && dependentValue == null)
            {
                return(true);
            }

            if (value == null || dependentValue == null)
            {
                return(false);
            }

            return(IfPropertyExpressionsContainer.Get(EqualTo).IsValid(value, dependentValue) ||
                   Comparer <object> .Default.Compare(value, dependentValue) >= 1);
        }
 public void TearDown()
 {
     IfPropertyExpressionsContainer.Clear();
 }