Deveel.Data.LoopTests.WhileLoop C# (CSharp) Method

WhileLoop() private method

private WhileLoop ( ) : void
return void
        public void WhileLoop()
        {
            var loop = new WhileLoopStatement(SqlExpression.SmallerThan(SqlExpression.VariableReference("a"), SqlExpression.Constant(33)));
            loop.Statements.Add(new DeclareVariableStatement("b", PrimitiveTypes.Integer()));
            loop.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("b"),
                SqlExpression.Add(SqlExpression.VariableReference("a"), SqlExpression.Constant(40))));
            loop.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("a"),
                SqlExpression.Add(SqlExpression.VariableReference("a"), SqlExpression.Constant(1))));

            var block = new PlSqlBlockStatement();
            block.Declarations.Add(new DeclareVariableStatement("a", PrimitiveTypes.Integer()));

            var result = AdminQuery.ExecuteStatement(block);

            Assert.IsNotNull(result);
            Assert.AreEqual(StatementResultType.Result, result.Type);

            var value = result.Result.GetValue(0, 0);
            Assert.IsNotNull(value);
            Assert.IsFalse(Field.IsNullField(value));
        }