コード例 #1
0
        public void ToStringTest()
        {
            ElementAttributeExpression attributeExpression = new ElementAttributeExpression(
                ElementAttributeType.Name);
            StringExpression         stringExpression = new StringExpression("Test");
            BinaryOperatorExpression equalsExpression = new BinaryOperatorExpression(
                BinaryExpressionOperator.Equal,
                attributeExpression,
                stringExpression);
            UnaryOperatorExpression operatorExpression = new UnaryOperatorExpression(
                UnaryExpressionOperator.Negate,
                equalsExpression);

            Assert.AreEqual("!(($(Element.Name) == 'Test'))", operatorExpression.ToString());
        }
コード例 #2
0
            private string GetExpression(UnaryOperatorExpression expression, ref List <OleDbParameter> parameters)
            {
                if (expression is NotExpression)
                {
                    return(GetExpression(expression as NotExpression, ref parameters));
                }

                if (expression is ParenthesesExpression)
                {
                    return(GetExpression(expression as ParenthesesExpression, ref parameters));
                }
                else
                {
                    return(expression.ToString());
                }
            }
コード例 #3
0
            private string GetExpression(UnaryOperatorExpression expression, ref List<OleDbParameter> parameters)
            {
                if (expression is NotExpression)
                {
                    return GetExpression(expression as NotExpression, ref parameters);
                }

                if (expression is ParenthesesExpression)
                {
                    return GetExpression(expression as ParenthesesExpression, ref parameters);
                }
                else

                    return expression.ToString();
            }
コード例 #4
0
 public override object Visit(UnaryOperatorExpression unaryOperatorExpression, object data)
 {
     Console.WriteLine(unaryOperatorExpression.ToString());
     return unaryOperatorExpression.AcceptChildren(this, data);
 }
コード例 #5
0
        public void ToStringInvalidOperatorTest()
        {
            ElementAttributeExpression attributeExpression = new ElementAttributeExpression(
                ElementAttributeType.Name);
            StringExpression         stringExpression = new StringExpression("Test");
            BinaryOperatorExpression equalsExpression = new BinaryOperatorExpression(
                BinaryExpressionOperator.Equal,
                attributeExpression,
                stringExpression);
            UnaryOperatorExpression operatorExpression = new UnaryOperatorExpression(
                (UnaryExpressionOperator)int.MinValue,
                equalsExpression);

            Assert.AreEqual(string.Format("{0}(($(Element.Name) == 'Test'))", int.MinValue), operatorExpression.ToString());
        }