public void SimpleForLoop()
{
var loop = new ForLoopStatement("i", SqlExpression.Constant(0), SqlExpression.Constant(200));
loop.Statements.Add(new DeclareVariableStatement("a", PrimitiveTypes.String()));
loop.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("a"),
SqlExpression.FunctionCall("cast",
new SqlExpression[] {SqlExpression.VariableReference("i"), SqlExpression.Constant("varchar")})));
loop.Statements.Add(
new ConditionStatement(SqlExpression.Equal(SqlExpression.VariableReference("i"), SqlExpression.Constant(200)),
new SqlStatement[] {new ReturnStatement(SqlExpression.VariableReference("a"))}));
var result = AdminQuery.ExecuteStatement(loop);
Assert.IsNotNull(result);
Assert.AreEqual(StatementResultType.Result, result.Type);
var value = result.Result.GetValue(0, 0);
Assert.IsNotNull(value);
Assert.IsFalse(Field.IsNullField(value));
// TODO: the context should return the value of RETURN statement
}