public void GetLoopString()
        {
            var loop = new LoopStatement("l1");

            loop.Statements.Add(new ExitStatement(SqlExpression.Constant(SqlObject.Boolean(true))));

            var expected = new StringBuilder();

            expected.AppendLine("<<l1>>");
            expected.AppendLine("LOOP");
            expected.AppendLine("  EXIT WHEN TRUE;");
            expected.Append("END LOOP;");

            var sql = loop.ToString();

            Assert.Equal(expected.ToString(), sql);
        }
Ejemplo n.º 2
0
        public static void Loop_NoLabel()
        {
            var loop = new LoopStatement();
            loop.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("a"), SqlExpression.Constant("two")));
            loop.Statements.Add(new ConditionStatement(SqlExpression.Constant(true), new SqlStatement[] {
                new ExitStatement()
            }));

            var sql = loop.ToString();
            var expected = new StringBuilder();
            expected.AppendLine("LOOP");
            expected.AppendLine("  :a := 'two'");
            expected.AppendLine("  IF TRUE THEN");
            expected.AppendLine("    EXIT");
            expected.AppendLine("  END IF");
            expected.Append("END LOOP");

            Assert.AreEqual(expected.ToString(), sql);
        }
        public static void Loop_NoLabel()
        {
            var loop = new LoopStatement();

            loop.Statements.Add(new AssignVariableStatement(SqlExpression.VariableReference("a"), SqlExpression.Constant("two")));
            loop.Statements.Add(new ConditionStatement(SqlExpression.Constant(true), new SqlStatement[] {
                new ExitStatement()
            }));

            var sql      = loop.ToString();
            var expected = new StringBuilder();

            expected.AppendLine("LOOP");
            expected.AppendLine("  :a := 'two'");
            expected.AppendLine("  IF TRUE THEN");
            expected.AppendLine("    EXIT");
            expected.AppendLine("  END IF");
            expected.Append("END LOOP");

            Assert.AreEqual(expected.ToString(), sql);
        }