public void TestTabSelectionIndent04()
        {
            string fileContent =
                "    class Calculator\n" +
                "    {\n" +
                "        def Add : int(one : int, two : int)\n" +
                "        {\n" +
                "    \t    return = one + two;\n" +
                "    \t}\n" +
                "    }\n";

            ClearExistingContent();
            textCore.SetCursorPosition(0, 0);
            textCore.InsertText(fileContent);

            Assert.AreEqual(textCore.GetLine(0), "    class Calculator\n");
            Assert.AreEqual(textCore.GetLine(1), "    {\n");
            Assert.AreEqual(textCore.GetLine(2), "        def Add : int(one : int, two : int)\n");
            Assert.AreEqual(textCore.GetLine(3), "        {\n");
            Assert.AreEqual(textCore.GetLine(4), "    \t    return = one + two;\n");
            Assert.AreEqual(textCore.GetLine(5), "    \t}\n");
            Assert.AreEqual(textCore.GetLine(6), "    }\n");

            textCore.SelectAllText();
            textCore.SetOverrideModifierFlag(TextEditorCommand.Modifier.Shift);
            textCore.InsertText("\t");

            Assert.AreEqual(textCore.GetLine(0), "class Calculator\n");
            Assert.AreEqual(textCore.GetLine(1), "{\n");
            Assert.AreEqual(textCore.GetLine(2), "    def Add : int(one : int, two : int)\n");
            Assert.AreEqual(textCore.GetLine(3), "    {\n");
            Assert.AreEqual(textCore.GetLine(4), "        return = one + two;\n");
            Assert.AreEqual(textCore.GetLine(5), "    }\n");
            Assert.AreEqual(textCore.GetLine(6), "}\n");

            textCore.SetOverrideModifierFlag(TextEditorCommand.Modifier.Shift);
            textCore.InsertText("\t");

            Assert.AreEqual(textCore.GetLine(0), "class Calculator\n");
            Assert.AreEqual(textCore.GetLine(1), "{\n");
            Assert.AreEqual(textCore.GetLine(2), "def Add : int(one : int, two : int)\n");
            Assert.AreEqual(textCore.GetLine(3), "{\n");
            Assert.AreEqual(textCore.GetLine(4), "    return = one + two;\n");
            Assert.AreEqual(textCore.GetLine(5), "}\n");
            Assert.AreEqual(textCore.GetLine(6), "}\n");

            textCore.SetOverrideModifierFlag(TextEditorCommand.Modifier.Shift);
            textCore.InsertText("\t");

            Assert.AreEqual(textCore.GetLine(0), "class Calculator\n");
            Assert.AreEqual(textCore.GetLine(1), "{\n");
            Assert.AreEqual(textCore.GetLine(2), "def Add : int(one : int, two : int)\n");
            Assert.AreEqual(textCore.GetLine(3), "{\n");
            Assert.AreEqual(textCore.GetLine(4), "return = one + two;\n");
            Assert.AreEqual(textCore.GetLine(5), "}\n");
            Assert.AreEqual(textCore.GetLine(6), "}\n");
        }