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); }
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); }