Esempio n. 1
0
        public void TestValidate()
        {
            // No subnodes: Exception is thrown.
            TryInvalidValidate(new ExprLikeNode(true));

            // singe child node not possible, must be 2 at least
            _likeNodeNormal = new ExprLikeNode(false);
            _likeNodeNormal.AddChildNode(new SupportExprNode(4));
            TryInvalidValidate(_likeNodeNormal);

            // test a type mismatch
            _likeNodeNormal = new ExprLikeNode(true);
            _likeNodeNormal.AddChildNode(new SupportExprNode("sx"));
            _likeNodeNormal.AddChildNode(new SupportExprNode(4));
            TryInvalidValidate(_likeNodeNormal);

            // test numeric supported
            _likeNodeNormal = new ExprLikeNode(false);
            _likeNodeNormal.AddChildNode(new SupportExprNode(4));
            _likeNodeNormal.AddChildNode(new SupportExprNode("sx"));

            // test invalid escape char
            _likeNodeNormal = new ExprLikeNode(false);
            _likeNodeNormal.AddChildNode(new SupportExprNode(4));
            _likeNodeNormal.AddChildNode(new SupportExprNode("sx"));
            _likeNodeNormal.AddChildNode(new SupportExprNode(5));
        }
Esempio n. 2
0
        public static ExprLikeNode MakeLikeNode(bool isNot, string optionalEscape)
        {
            // Build :      s0.string like "%abc__"  (with or witout escape)
            var node = new ExprLikeNode(isNot);

            node.AddChildNode(MakeIdentNode("TheString", "s0"));
            node.AddChildNode(new SupportExprNode("%abc__"));
            if (optionalEscape != null)
            {
                node.AddChildNode(new SupportExprNode(optionalEscape));
            }
            Validate3Stream(node);
            return(node);
        }