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)); }
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); }