public void TextStreamViewModelConstructorTest() { var textStream = new TextStreamModel(); var keyboardViewModel = new KeyboardViewModel(textStream); var target = new TextStreamViewModel(textStream); Assert.AreNotEqual(null, target); }
public void UpdateTextTest() { var textStream = new TextStreamModel(); var keyboardViewModel = new KeyboardViewModel(textStream); var target = new TextStreamViewModel(textStream); //Uri source = null; // TODO: Initialize to an appropriate value //target.UpdateText(source); //Assert.Inconclusive("A method that does not return a value cannot be verified."); }
public void TextTest() { var textStream = new TextStreamModel(); var keyboardViewModel = new KeyboardViewModel(textStream); var target = new TextStreamViewModel(textStream); const string expected = "ABC"; target.Text = expected; string actual = target.Text; Assert.AreEqual(expected, actual); }
public void CharacterIndexTest() { var textStream = new TextStreamModel(); var keyboardViewModel = new KeyboardViewModel(textStream); var target = new TextStreamViewModel(textStream); const int expected = 6; target.CharacterIndex = expected; int actual = target.CharacterIndex; Assert.AreEqual(expected, actual); }
public void ProcessInputTest() { var textStream = new TextStreamModel(); var keyboardViewModel = new KeyboardViewModel(textStream); var target = new TextStreamViewModel(textStream) { Text = "BEIRUT" }; const string inputText = "B"; target.ProcessInput(inputText); Assert.AreEqual(1, target.CharacterIndex); }
/// <summary> /// Definitely a lot easier to handle events in code behind /// </summary> /// <param name="input"></param> private void HandleInput(string input) { TextStreamViewModel vm = this.DataContext as TextStreamViewModel; if (vm == null) { Debug.Assert(false, "Viewmodel should never be null. Check DataContext data type"); return; } vm.ProcessInput(input); this.TextBox.Select(vm.CharacterIndex, 1); this.TextBox.Focus(); }
private void HandleKeyUp(object sender, KeyEventArgs e) { TextStreamViewModel vm = this.DataContext as TextStreamViewModel; if (vm == null) { Debug.Assert(false, "Viewmodel should never be null. Check DataContext data type"); return; } // Special case for space. Find a more elegant way to do this - MJDTODO // maybe we should handle all input at the main window level and avoid focus issues. if (e.Key == Key.Space) { this.HandleInput(" "); } }