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

            Assert.IsFalse(model.IsValid());
        }
        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());
        }