Deveel.Data.Sql.Statements.CreateTriggerStringFormatTests.TriggerWithBody_InitiallyDisabled C# (CSharp) Method

TriggerWithBody_InitiallyDisabled() private method

private TriggerWithBody_InitiallyDisabled ( ) : void
return void
        public static void TriggerWithBody_InitiallyDisabled()
        {
            var body = new PlSqlBlockStatement();
            body.Statements.Add(new OpenStatement("c1"));
            body.Statements.Add(new CursorForLoopStatement("i", "c1"));
            body.Statements.Add(new ReturnStatement());

            var statement = new CreateTriggerStatement(ObjectName.Parse("APP.trig1"), new ObjectName("tab1"), body,
                TriggerEventTime.Before, TriggerEventType.Insert | TriggerEventType.Update) {
                    Status = TriggerStatus.Disabled,
                    ReplaceIfExists = true
                };

            var expected = new StringBuilder();
            expected.AppendLine("CREATE OR REPLACE TRIGGER APP.trig1 BEFORE INSERT OR UPDATE ON tab1 DISABLE");
            expected.AppendLine("  BEGIN");
            expected.AppendLine("    OPEN c1");
            expected.AppendLine("    FOR i IN c1");
            expected.AppendLine("    LOOP");
            expected.AppendLine("    END LOOP");
            expected.AppendLine("    RETURN");
            expected.Append("  END");

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