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); }
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); }
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); }
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); }
public void CanBackspaceFirstCharacterOnLine() { FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A); FakeConsoleTextEditor.Column = 5; FakeConsoleTextEditor.SelectionStart = 5; FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back); Assert.AreEqual(String.Empty, TestableScriptingConsole.GetCurrentLine()); }
public void LeftArrowThenInsertNewCharacterInsertsText() { FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A); FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B); FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left); FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.C); Assert.AreEqual("ACB", TestableScriptingConsole.GetCurrentLine()); }
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); }
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); }
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); }