public void AddCustomPropertyExpressionTest() { IfPropertyExpressionsContainer.AddOrOverride("invalid", new CustomInvalidPropertyExpression()); var model = new CustomExpressionModel { Value = "Test" }; Assert.IsFalse(model.IsValid()); }
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()); }
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(); }