Esempio n. 1
0
        public void TextStreamViewModelConstructorTest()
        {
            var textStream        = new TextStreamModel();
            var keyboardViewModel = new KeyboardViewModel(textStream);
            var target            = new TextStreamViewModel(textStream);

            Assert.AreNotEqual(null, target);
        }
Esempio n. 2
0
 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.");
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        /// <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();
        }
Esempio n. 7
0
        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(" ");
            }
        }