コード例 #1
0
        public void TestBooleanBinaryExpressionAccept()
        {
            Mock <KoraliumSqlVisitor> mock = new Mock <KoraliumSqlVisitor>();
            BooleanBinaryExpression   booleanBinaryExpression = new BooleanBinaryExpression();

            booleanBinaryExpression.Accept(mock.Object);
            mock.Verify(x => x.VisitBooleanBinaryExpression(booleanBinaryExpression));
        }
コード例 #2
0
 public void Visit(BooleanBinaryExpression booleanBinaryExpression)
 {
     if (_innerVisitor != null)
     {
         booleanBinaryExpression.Accept(_innerVisitor);
     }
     booleanBinaryExpression.Left.Accept(this);
     booleanBinaryExpression.Right.Accept(this);
 }
コード例 #3
0
ファイル: BaseVisitor.cs プロジェクト: koralium/Koralium
        public override void VisitBetweenExpression(BetweenExpression betweenExpression)
        {
            //Convert the between expression into a boolean binary expression
            var convertedExpression = new BooleanBinaryExpression()
            {
                Left = new BooleanComparisonExpression()
                {
                    Left  = betweenExpression.Expression,
                    Right = betweenExpression.From,
                    Type  = BooleanComparisonType.GreaterThanOrEqualTo
                },
                Right = new BooleanComparisonExpression()
                {
                    Left  = betweenExpression.Expression,
                    Right = betweenExpression.To,
                    Type  = BooleanComparisonType.LessThanOrEqualTo
                },
                Type = BooleanBinaryType.AND
            };

            //Visit the newly constructed boolean binary expression instead
            convertedExpression.Accept(this);
        }