public void Write_WritePromptWhenScrollToEndWhenTextWrittenIsFalse_TextEditorIsNotScrolled()
        {
            TestableScriptingConsole.ScrollToEndWhenTextWritten = false;
            TestableScriptingConsole.Write("a", ScriptingStyle.Prompt);

            Assert.IsFalse(FakeConsoleTextEditor.IsScrollToEndCalled);
        }
        public void Write_WriteErrorWhenScrollToEndWhenTextWrittenIsTrue_TextEditorIsScrolled()
        {
            TestableScriptingConsole.ScrollToEndWhenTextWritten = true;
            TestableScriptingConsole.Write("a", ScriptingStyle.Error);

            Assert.IsTrue(FakeConsoleTextEditor.IsScrollToEndCalled);
        }
Beispiel #3
0
        public void MoveOneCharacterIntoPromptTypingShouldBePrevented()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);

            Assert.AreEqual(String.Empty, TestableScriptingConsole.GetCurrentLine());
        }
        public void ReadLine_NoLinesAvailable_ReturnsNull()
        {
            CreateConsole();
            string line = TestableScriptingConsole.ReadLine(0);

            Assert.IsNull(line);
        }
Beispiel #5
0
 public void CanMoveOutOfPromptRegionWithUpCursorKey()
 {
     FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
     TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);
     FakeConsoleTextEditor.Column = 0;
     Assert.IsFalse(FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Up));
 }
        public void WriteLine_WriteLineWithText_TextPlusNewLineWritten()
        {
            TestableScriptingConsole.WriteLine("test", ScriptingStyle.Out);
            string expectedText = "test" + Environment.NewLine;

            Assert.AreEqual(expectedText, FakeConsoleTextEditor.Text);
        }
Beispiel #7
0
 public void CanMoveInReadOnlyRegionWithDownCursorKey()
 {
     FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
     TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);
     FakeConsoleTextEditor.Column = 0;
     FakeConsoleTextEditor.Line   = 0;
     Assert.IsFalse(FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Down));
 }
        public void SendLine_NoUnreadLines_NoTextWrittenToConsoleTextEditorBeforeFirstPromptIsWritten()
        {
            base.CreateConsole();
            TestableScriptingConsole.SendLine("test");
            string text = FakeConsoleTextEditor.TextPassedToWrite;

            Assert.IsNull(text);
        }
        public void SendText_FirstPromptNotYetWrittenToConsole_NoTextWrittenToConsoleTextEditor()
        {
            base.CreateConsole();
            TestableScriptingConsole.SendText("test");
            string text = FakeConsoleTextEditor.TextPassedToAppend;

            Assert.IsNull(text);
        }
        public void ReadLine_WriteThreeCharactersFollowedByEnterKey_ReturnsFirstThreeCharacters()
        {
            WriteThreeCharactersFollowedByEnterKey();
            string line = TestableScriptingConsole.ReadLine(0);

            string expectedLine = "ABC";

            Assert.AreEqual(expectedLine, line);
        }
        public void GetMaximumVisibleColumns_TextEditorMaximumVisibleColumnsnIsTen_ReturnsTen()
        {
            CreateConsole();
            FakeConsoleTextEditor.MaximumVisibleColumns = 10;

            int columns = TestableScriptingConsole.GetMaximumVisibleColumns();

            Assert.AreEqual(10, columns);
        }
        public void Clear_TextEditorHasText_RemovesAllText()
        {
            TestableScriptingConsole.Write("a", ScriptingStyle.Prompt);
            TestableScriptingConsole.Clear();

            bool cleared = FakeConsoleTextEditor.IsClearCalled;

            Assert.IsTrue(cleared);
        }
        public void SetUpFixture()
        {
            base.CreateConsole();
            TestableScriptingConsole.WriteLine(prompt, ScriptingStyle.Prompt);

            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            showCompletionWindowCalledBeforeDotTypedIn = FakeConsoleTextEditor.IsShowCompletionWindowCalled;
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.OemPeriod);
        }
Beispiel #14
0
        public void CanBackspaceFirstCharacterOnLine()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.Column         = 5;
            FakeConsoleTextEditor.SelectionStart = 5;
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back);

            Assert.AreEqual(String.Empty, TestableScriptingConsole.GetCurrentLine());
        }
Beispiel #15
0
        public void LeftArrowThenInsertNewCharacterInsertsText()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.C);

            Assert.AreEqual("ACB", TestableScriptingConsole.GetCurrentLine());
        }
Beispiel #16
0
        public void MoveOneCharacterIntoPromptAndBackspaceKeyShouldNotRemoveAnything()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back);

            Assert.AreEqual("A", TestableScriptingConsole.GetCurrentLine());
            Assert.AreEqual(prompt + "A", FakeConsoleTextEditor.Text);
        }
        public void SendLine_NoUnreadLines_AddsLineToUnreadLines()
        {
            SendLineToConsole("test");
            string[] unreadLines = TestableScriptingConsole.GetUnreadLines();

            string[] expectedUnreadlines = new string[] { "test" };

            Assert.AreEqual(expectedUnreadlines, unreadLines);
        }
        public void IsLineAvailable_TwoLinesRead_ReturnsFalse()
        {
            WriteTwoLinesEachFollowedByEnterKey();
            TestableScriptingConsole.ReadLine(0);
            TestableScriptingConsole.ReadLine(0);
            bool result = TestableScriptingConsole.IsLineAvailable;

            Assert.IsFalse(result);
        }
Beispiel #19
0
        public void Init()
        {
            base.CreateConsole();
            TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);

            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
            TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.OemPeriod);
        }
Beispiel #20
0
        public void SelectLastCharacterOfPromptThenPressingTheBackspaceKeyShouldNotRemoveAnything()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.SelectionStart  = prompt.Length - 1;
            FakeConsoleTextEditor.SelectionLength = 2;
            FakeConsoleTextEditor.Column         += 2;
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back);

            Assert.AreEqual("A", TestableScriptingConsole.GetCurrentLine());
            Assert.AreEqual(prompt + "A", FakeConsoleTextEditor.Text);
        }
        public void ReadFirstUnreadLine_OneLineUnreadReadTwoLines_ReturnsNull()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            TestableScriptingConsole.ReadFirstUnreadLine();
            string line = TestableScriptingConsole.ReadFirstUnreadLine();

            Assert.IsNull(line);
        }
        public void AddOneLine()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(System.Windows.Input.Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(System.Windows.Input.Key.Enter);

            string[] lines         = TestableScriptingConsole.GetUnreadLines();
            string[] expectedLines = new string[] { "A" };

            Assert.AreEqual(expectedLines, lines);
            Assert.IsTrue(TestableScriptingConsole.IsLineAvailable);
        }
        public void ReadLine_WriteTwoLinesWithThreeCharactersInEachLine_SecondLineReadReturnsSecondLinesCharacters()
        {
            WriteTwoLinesEachFollowedByEnterKey();

            TestableScriptingConsole.ReadLine(0);
            string secondLine = TestableScriptingConsole.ReadLine(0);

            string expectedSecondLine = "DEF";

            Assert.AreEqual(expectedSecondLine, secondLine);
        }
        public void ReadFirstUnreadLine_OneLineUnread_ReturnsLine()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            string line = TestableScriptingConsole.ReadFirstUnreadLine();

            string expectedline = "A";

            Assert.AreEqual(expectedline, line);
        }
        public void Write_SendTextCalledButNoPromptWritten_WritesOutSavedText()
        {
            base.CreateConsole();
            TestableScriptingConsole.SendText("test");

            TestableScriptingConsole.Write(">>> ", ScriptingStyle.Prompt);
            string text = FakeConsoleTextEditor.TextPassedToAppend;

            string expectedText = "test";

            Assert.AreEqual(expectedText, text);
        }
        public void ReadLine_AutoIndentIsZero_NoTextWrittenToConsoleTextEditor()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            FakeConsoleTextEditor.IsAppendCalled = false;

            TestableScriptingConsole.ReadLine(0);

            Assert.IsFalse(FakeConsoleTextEditor.IsAppendCalled);
        }
        public void ReadLine_OneLineWaitingAndAutoIndentIsTwo_TwoSpacesAddedToLineText()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            int    indent = 2;
            string line   = TestableScriptingConsole.ReadLine(indent);

            string expectedLine = "  A";

            Assert.AreEqual(expectedLine, line);
        }
        public void FireLineReceivedEvent_LineReceivedEventHandlerRegistered_CallsEventHandler()
        {
            CreateConsole();

            bool fired = false;

            TestableScriptingConsole.LineReceived += delegate {
                fired = true;
            };

            TestableScriptingConsole.CallBaseFireLineReceivedEvent();

            Assert.IsTrue(fired);
        }
        public void ReadLine_AutoIndentIsTwo_TwoSpacesWrittenToConsoleTextEditor()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            int indent = 2;

            TestableScriptingConsole.ReadLine(indent);

            string expectedText = "  ";

            Assert.AreEqual(expectedText, FakeConsoleTextEditor.TextPassedToAppend);
        }
        public void Write_CalledTwiceAfterSendLineCalledButNoPromptWritten_WritesOutSavedSendLineTextOnlyOnce()
        {
            base.CreateConsole();
            TestableScriptingConsole.SendLine("test");

            TestableScriptingConsole.Write(">>> ", ScriptingStyle.Prompt);
            TestableScriptingConsole.Write(">>> ", ScriptingStyle.Prompt);

            string text = FakeConsoleTextEditor.Text;

            string expectedText =
                ">>> test\r\n" +
                ">>> ";

            Assert.AreEqual(expectedText, text);
        }