예제 #1
0
        public void CreateBooleanExpression()
        {
            IExpression trueexpr = new ConstantExpression(true);
            IExpression falseexpr = new ConstantExpression(false);
            BooleanExpression expression = new BooleanExpression(trueexpr, falseexpr, BooleanOperator.Or);

            Assert.AreEqual(trueexpr, expression.Left);
            Assert.AreEqual(falseexpr, expression.Right);

            Assert.AreEqual(BooleanOperator.Or, expression.Operation);
        }
예제 #2
0
        private IExpression CompileOrExpression()
        {
            IExpression expression = this.CompileAndExpression();

            if (expression == null)
                return null;

            while (this.TryCompile(TokenType.Name, "or"))
                expression = new BooleanExpression(expression, this.CompileAndExpression(), BooleanOperator.Or);

            return expression;
        }