Ejemplo n.º 1
0
        public void When_all_correct_values_for_all_cells_are_added_should_return_true_if_IsWordAnswerCorrect_is_called()
        {
            var wordViewModel = new WordViewModel();
            wordViewModel.Cells = new ObservableCollection<CellEmptyViewModel>();
            const string word = "testword";
            int row = 0;
            foreach (object character in word)
            {
                var cell = new CellViewModel(0, row, character.ToString(), wordViewModel, string.Empty);
                row += 1;
                wordViewModel.Cells.Add(cell);
            }

            foreach (CellEmptyViewModel cell in wordViewModel.Cells)
            {
                var keyReceivedMessage = new KeyReceivedMessage {KeyChar = cell.Value};
                var cellValueChangedMesage = new CellValueChangedMessage()
                        {
                            Character = keyReceivedMessage.KeyChar,
                            Col = cell.Col,
                            Row = cell.Row
                        };

                Messenger.Default.Send(cellValueChangedMesage);
            }

            Assert.IsTrue(wordViewModel.IsWordAnswerCorrect);
        }
Ejemplo n.º 2
0
 private void HandleKeyEvent(KeyReceivedMessage keyReceivedMessage)
 {
     if(SelectedWord == null) return;
     switch (keyReceivedMessage.KeyCharType)
     {
         case KeyCharType.Delete:
         case KeyCharType.BackSpace:
             if (_currentWordPosition > 0)
             {
                 _currentWordPosition -= 1;
                 SelectedWord.Cells[_currentWordPosition].EnteredValue = string.Empty;
             }
             break;
         default:
             if (_currentWordPosition < SelectedWord.Cells.Count)
             {
                 SelectedWord.Cells[_currentWordPosition].EnteredValue = keyReceivedMessage.KeyChar;
                 var cellValueChangedMesage =
                     new CellValueChangedMessage()
                         {
                             Character = keyReceivedMessage.KeyChar,
                             Col = SelectedWord.Cells[_currentWordPosition].Col,
                             Row = SelectedWord.Cells[_currentWordPosition].Row
                         };
                 Messenger.Default.Send(cellValueChangedMesage);
                 _currentWordPosition += 1;
             }
             break;
     }
     ShowCompleteTick = SetShowCompleteTick();
 }
Ejemplo n.º 3
0
 private void HandleChangedCellValue(CellValueChangedMessage cellValueChangedMessage)
 {
     //If this word has the changed cell passed in, modify the instance of the cell to reflect it's new value
     CellEmptyViewModel cell =
         Cells.FirstOrDefault(x => x.Col == cellValueChangedMessage.Col && x.Row == cellValueChangedMessage.Row);
     if (cell != null)
     {
         cell.EnteredValue = cellValueChangedMessage.Character;
     }
 }