public void BreakInWhile()
 {
     var builder = new StatementListBuilder();
     builder
         .AddJumpIfNot(11, 180, "CurrentMove != None")
         .AddJumpIfNot(22, 174, "CurrentMove.TimeStamp <= CurrentTimeStamp")
         .Add(70, "LastAckedAccel = CurrentMove.Acceleration")
         .AddJump(171, 177)
         .AddJump(174, 180)
         .AddJump(177, 11)
         .AddReturn(180);
     VerifyText(builder,
         "while (CurrentMove != None)",
         "{",
         "    if (CurrentMove.TimeStamp <= CurrentTimeStamp)",
         "    {",
         "        LastAckedAccel = CurrentMove.Acceleration;",
         "    }",
         "    else",
         "    {",
         "        break;",
         "    }",
         "}");
 }
        public void While()
        {
            var builder = new StatementListBuilder();
            builder
                .AddJumpIfNot(0, 182, "Len(Text) > 0")
                .Add(13, "Character = Asc(Left(Text, 1))")
                .Add(29, "Text = Mid(Text, 1)")
                .AddJumpIfNot(44, 179, "Character >= 32 && Character < 256 && Character != Asc(\"~\") && Character != Asc(\"`\")")
                .Add(107, "SetInputText(Left(TypedStr, TypedStrPos) $ Chr(Character) $ Right(TypedStr, Len(TypedStr) - TypedStrPos))")
                .Add(161, "SetCursorPos(TypedStrPos + 1)")
                .AddJump(179, 0)
                .AddReturn(182);

            VerifyText(builder,
                "while (Len(Text) > 0)",
                "{",
                "    Character = Asc(Left(Text, 1));",
                "    Text = Mid(Text, 1);",
                "    if (Character >= 32 && Character < 256 && Character != Asc(\"~\") && Character != Asc(\"`\"))",
                "    {",
                "        SetInputText(Left(TypedStr, TypedStrPos) $ Chr(Character) $ Right(TypedStr, Len(TypedStr) - TypedStrPos));",
                "        SetCursorPos(TypedStrPos + 1);",
                "    }",
                "}");
        }
        public void IfElseReturn()
        {
            var builder = new StatementListBuilder();
            builder
                .AddJumpIfNot(0, 112, "!bGameRelevant")
                .AddJumpIfNot(87, 109, "bNoDelete")
                .Add(96, "ShutDown()")
                .AddJump(106, 112)
                .Add(109, "Destroy()")
                .AddReturn(112);

            VerifyText(builder,
                       "if (!bGameRelevant)",
                       "{",
                       "    if (bNoDelete)",
                       "    {",
                       "        ShutDown();",
                       "    }",
                       "    else",
                       "    {",
                       "        Destroy();",
                       "    }",
                       "}");
        }