public void Simple_False_Expression()
        {
            var expression = new FalseExpression();
            var bytes      = Encoding.UTF8.GetBytes(EmptyJson);
            var matcher    = new SlowMatcher(new[] { expression });

            Assert.False(matcher.Match(bytes));
        }
        public void It_Should_Return_False()
        {
            var expr   = new FalseExpression();
            var result = expr.Eval(new TemplateContext(), new List <Option <ILiquidValue> >());

            Assert.That(result.IsSuccess);
            Assert.That(result.SuccessValue <LiquidBoolean>().BoolValue, Is.False);
        }
Example #3
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsConditionalExpression)node;

            node2.Condition       = Condition.Clone();
            node2.TrueExpression  = TrueExpression.Clone();
            node2.FalseExpression = FalseExpression.Clone();
        }
Example #4
0
 public override void Walk(PythonWalker walker)
 {
     if (walker.Walk(this))
     {
         Test?.Walk(walker);
         TrueExpression?.Walk(walker);
         FalseExpression?.Walk(walker);
     }
     walker.PostWalk(this);
 }
Example #5
0
        protected virtual void VisitWhereIn(WhereInExpression expression)
        {
            IWhereExpression exp = new FalseExpression();

            foreach (var value in expression.Values)
            {
                exp = new OrElseExpression(exp, new WhereEqualsExpression(null, expression.FieldName, value));
            }
            this.VisitWhere(exp);
        }
        internal override void AppendTo(SqlStringBuilder builder)
        {
            builder.Append("CASE WHEN ");
            TestExpression.AppendTo(builder);
            builder.Append(" THEN ");
            TrueExpression.AppendTo(builder);

            if (FalseExpression != null)
            {
                builder.Append(" ELSE ");
                FalseExpression.AppendTo(builder);
            }
        }
Example #7
0
        public void CreateAndEvaluateFalseExpression()
        {
            FalseExpression expression = new FalseExpression();

            Assert.IsNotNull(expression);
            Assert.IsFalse((bool)expression.Value);

            Machine machine = new Machine();

            expression.Evaluate(machine);

            Assert.AreEqual(1, machine.StackCount);
            Assert.IsFalse((bool)machine.Pop());
        }
Example #8
0
 public override async Task WalkAsync(PythonWalkerAsync walker, CancellationToken cancellationToken = default)
 {
     if (await walker.WalkAsync(this, cancellationToken))
     {
         if (Test != null)
         {
             await Test.WalkAsync(walker, cancellationToken);
         }
         if (TrueExpression != null)
         {
             await TrueExpression.WalkAsync(walker, cancellationToken);
         }
         if (FalseExpression != null)
         {
             await FalseExpression.WalkAsync(walker, cancellationToken);
         }
     }
     await walker.PostWalkAsync(this, cancellationToken);
 }
Example #9
0
 internal override void AppendCodeString(StringBuilder res, PythonAst ast, CodeFormattingOptions format)
 {
     TrueExpression.AppendCodeString(res, ast, format);
     res.Append(this.GetPreceedingWhiteSpace(ast));
     res.Append("if");
     if (!ast.HasVerbatim)
     {
         res.Append(' ');
     }
     Test.AppendCodeString(res, ast, format);
     res.Append(this.GetSecondWhiteSpace(ast));
     if (!this.IsIncompleteNode(ast))
     {
         res.Append("else");
         if (!ast.HasVerbatim)
         {
             res.Append(' ');
         }
         FalseExpression.AppendCodeString(res, ast, format);
     }
 }
        protected override void GenerateInner(CodeGenerator generator)
        {
            if (Condition.Precedence > PrecedenceGroup.Ternary)
            {
                generator.Write(TokenType.Punctuation, '(');
            }
            Condition.Generate(generator);
            if (Condition.Precedence > PrecedenceGroup.Ternary)
            {
                generator.Write(TokenType.Punctuation, ')');
            }

            generator.Write(TokenType.Space, ' ');
            generator.Write(TokenType.Punctuation, '?');
            generator.Write(TokenType.Space, ' ');

            if (TrueExpression.Precedence >= PrecedenceGroup.Ternary)
            {
                generator.Write(TokenType.Punctuation, '(');
            }
            TrueExpression.Generate(generator);
            if (TrueExpression.Precedence >= PrecedenceGroup.Ternary)
            {
                generator.Write(TokenType.Punctuation, ')');
            }

            generator.Write(TokenType.Space, ' ');
            generator.Write(TokenType.Punctuation, ':');
            generator.Write(TokenType.Space, ' ');

            if (FalseExpression.Precedence >= PrecedenceGroup.Ternary)
            {
                generator.Write(TokenType.Punctuation, '(');
            }
            FalseExpression.Generate(generator);
            if (FalseExpression.Precedence >= PrecedenceGroup.Ternary)
            {
                generator.Write(TokenType.Punctuation, ')');
            }
        }
Example #11
0
 protected override void VisitFalse(FalseExpression expression)
 {
     this.LinqExpression = PredicateBuilder.And(LinqExpression, it => false);
 }
Example #12
0
 public override void Accept(FalseExpression nfalse)
 {
     nfalse.Visit(parentVisitor);
     methodBuilder.EmitInstruction(nfalse.Location, Opcode.LoadLocal, temporary);
     methodBuilder.EmitInstruction(nfalse.Location, Opcode.BinOp, (int)BinaryOperation.Equals);
 }
Example #13
0
 protected abstract void VisitFalse(FalseExpression expression);
Example #14
0
 protected override void VisitFalse(FalseExpression expression)
 {
     SetQuery(QueryBuilder.Query.Where(new BsonJavaScript("false")));
 }
Example #15
0
 public override void Accept(FalseExpression nfalse)
 {
     methodBuilder.EmitInstruction(nfalse.Location, Opcode.LoadFalse);
 }
Example #16
0
 protected abstract void VisitFalse(FalseExpression expression);
Example #17
0
 protected override void VisitFalse(FalseExpression expression)
 {
     clauseText.AppendFormat("(false)");
 }
Example #18
0
 protected virtual void VisitWhereIn(WhereInExpression expression)
 {
     IWhereExpression exp = new FalseExpression();
     foreach (var value in expression.Values)
     {
         exp = new OrElseExpression(exp, new WhereEqualsExpression(null, expression.FieldName, value));
     }
     this.VisitWhere(exp);
 }
Example #19
0
 protected override void VisitFalse(FalseExpression expression)
 {
     whereClause.Append(" (!1) ");
     viewNameBuilder.AppendFormat("!1");
 }
Example #20
0
 public override void Accept(FalseExpression nfalse)
 {
     nfalse.Visit(functionCompiler);
 }
Example #21
0
 public virtual void Accept(FalseExpression nfalse)
 {
 }
Example #22
0
 protected override void VisitFalse(FalseExpression expression)
 {
     clauseText.AppendFormat("(false)");
 }