Beispiel #1
0
        public void TestValidate()
        {
            // test success
            _orNode.AddChildNode(new SupportExprNode(typeof(Boolean)));
            _orNode.AddChildNode(new SupportExprNode(typeof(Boolean)));
            _orNode.Validate(SupportExprValidationContextFactory.MakeEmpty(_container));

            // test failure, type mismatch
            _orNode.AddChildNode(new SupportExprNode(typeof(string)));
            try
            {
                _orNode.Validate(SupportExprValidationContextFactory.MakeEmpty(_container));
                Assert.Fail();
            }
            catch (ExprValidationException)
            {
                // Expected
            }

            // test failed - with just one child
            _orNode = new ExprOrNode();
            _orNode.AddChildNode(new SupportExprNode(typeof(Boolean)));
            try
            {
                _orNode.Validate(SupportExprValidationContextFactory.MakeEmpty(_container));
                Assert.Fail();
            }
            catch (ExprValidationException)
            {
                // Expected
            }
        }
Beispiel #2
0
        public void TestEvaluate()
        {
            _orNode.AddChildNode(new SupportBoolExprNode(true));
            _orNode.AddChildNode(new SupportBoolExprNode(false));
            SupportExprNodeUtil.Validate(_orNode);
            Assert.IsTrue(_orNode.Evaluate(new EvaluateParams(null, false, null)).AsBoolean());

            _orNode = new ExprOrNode();
            _orNode.AddChildNode(new SupportBoolExprNode(false));
            _orNode.AddChildNode(new SupportBoolExprNode(false));
            SupportExprNodeUtil.Validate(_orNode);
            Assert.IsFalse(_orNode.Evaluate(new EvaluateParams(null, false, null)).AsBoolean());

            _orNode = new ExprOrNode();
            _orNode.AddChildNode(new SupportExprNode(null, typeof(Boolean)));
            _orNode.AddChildNode(new SupportExprNode(false));
            SupportExprNodeUtil.Validate(_orNode);
            Assert.IsNull(_orNode.Evaluate(new EvaluateParams(null, false, null)));
        }