Пример #1
0
 public void SetUp()
 {
     _container             = SupportContainer.Reset();
     _likeNodeNormal        = SupportExprNodeFactory.MakeLikeNode(false, null);
     _likeNodeNot           = SupportExprNodeFactory.MakeLikeNode(true, null);
     _likeNodeNormalEscaped = SupportExprNodeFactory.MakeLikeNode(false, "!");
 }
Пример #2
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));
        }
Пример #3
0
        public void TestEquals()
        {
            ExprLikeNode otherLikeNodeNot  = SupportExprNodeFactory.MakeLikeNode(true, "@");
            ExprLikeNode otherLikeNodeNot2 = SupportExprNodeFactory.MakeLikeNode(true, "!");

            Assert.IsTrue(_likeNodeNot.EqualsNode(otherLikeNodeNot2, false));
            Assert.IsTrue(otherLikeNodeNot2.EqualsNode(otherLikeNodeNot, false)); // Escape char itself is an expression
            Assert.IsFalse(_likeNodeNormal.EqualsNode(otherLikeNodeNot, false));
        }
Пример #4
0
 private void TryInvalidValidate(ExprLikeNode exprLikeRegexpNode)
 {
     try {
         exprLikeRegexpNode.Validate(SupportExprValidationContextFactory.MakeEmpty(_container));
         Assert.Fail();
     }
     catch (ExprValidationException)
     {
         // expected
     }
 }