private static DesignPuzzleBoardViewModel GetDesignPuzzleBoardViewModelWithAllWordsInserted(DesignPuzzleBoardViewModel puzzleBoardVm) { puzzleBoardVm.StartPauseButtonCaption = "Start"; puzzleBoardVm.GameIsRunning = false; puzzleBoardVm.StartPauseCommand.Execute(null); //Act puzzleBoardVm.SelectedWordAcross = puzzleBoardVm.Words.First(); foreach (var word in puzzleBoardVm.Words) { if (word.Direction == Direction.Down) { puzzleBoardVm.SelectedWordDown = word; } else { puzzleBoardVm.SelectedWordAcross = word; } foreach (var cell in word.Cells) { Messenger.Default.Send(new KeyReceivedMessage() { KeyChar = cell.Value }); } puzzleBoardVm.AddEnteredWordOnToBoardCommand.Execute(null); } return puzzleBoardVm; }
public void When_a_delete_is_hit_should_remove_a_letter_from_entered_characters() { var puzzleBoardVm = new DesignPuzzleBoardViewModel(); puzzleBoardVm.StartPauseButtonCaption = "Start"; puzzleBoardVm.GameIsRunning = false; puzzleBoardVm.StartPauseCommand.Execute(null); puzzleBoardVm.SelectedWordAcross = puzzleBoardVm.Words.First(); Messenger.Default.Send(new KeyReceivedMessage { KeyChar = "t" }); Messenger.Default.Send(new KeyReceivedMessage { KeyChar = "t" }); Messenger.Default.Send(new KeyReceivedMessage { KeyCharType = KeyCharType.Delete }); var result = puzzleBoardVm.SelectedWord.Cells.Count(x => x.EnteredValue == "t"); puzzleBoardVm.StartPauseCommand.Execute(null); Debug.WriteLine("Cell Entered count {0}", result); Assert.AreEqual(1, puzzleBoardVm.SelectedWord.Cells.Count(x => x.EnteredValue == "t")); }
public void TestMethod() { var puzzleBoardVm = new DesignPuzzleBoardViewModel(); //puzzleBoardVm.StartPauseButtonCaption = "Start"; //((TestScheduler)puzzleBoardVm.SchedulerProvider.ThreadPool).AdvanceBy(2); //puzzleBoardVm.StartPauseCommand.Execute(null); ////var expectedValues = new long[] {0, 1, 2, 3, 4}; ////var actualValues = new List<long>(); ////var scheduler = new TestScheduler(); ////var interval = Observable.Interval(TimeSpan.FromSeconds(1), scheduler) //// .Take(5); ////interval.Subscribe(); ////scheduler.Start(); //((TestScheduler)puzzleBoardVm.SchedulerProvider.ThreadPool).Start(); //((TestScheduler) puzzleBoardVm.SchedulerProvider.Dispatcher).Start(); }
public void Should_execute_GameFinishedEvent_with_100_percent_result_when_last_word_is_inserted_onto_the_board() { var puzzleBoardVm = new DesignPuzzleBoardViewModel(); Messenger.Default.Register<GameCompleteMessage>(this, m => Assert.AreEqual(100, m.ScorePercentage)); GetDesignPuzzleBoardViewModelWithAllWordsInserted(puzzleBoardVm); }
public void When_start_is_hit_the_Count_up_Timer_should_commence() { var puzzleBoardVm = new DesignPuzzleBoardViewModel(); }
public void Should_instatiate_with_dummy_words() { var puzzleBoardVm = new DesignPuzzleBoardViewModel(); Assert.IsTrue(puzzleBoardVm.Words.Count > 0); }
public void Last_selected_word_should_be_unhighlighted_on_the_board_when_another_word_is_selected() { //Arrange var puzzleBoardVm = new DesignPuzzleBoardViewModel(); puzzleBoardVm.StartPauseCommand.Execute(null); puzzleBoardVm.SelectedWordDown = puzzleBoardVm.Words[1]; var pvCells = puzzleBoardVm.SelectedWord.Cells.Select(x => new {Col = x.Col, Row = x.Row}); puzzleBoardVm.SelectedWordDown = puzzleBoardVm.Words[2]; //Assert but ignore junction cells foreach (var cell in pvCells.Where(x => puzzleBoardVm.SelectedWord.Cells.Any(y => y.Col == x.Col && y.Row == x.Row) == false)) { var cell1 = cell; Assert.IsTrue(puzzleBoardVm.Cells.First(x => x.Row == cell1.Row && x.Col == cell1.Col).IsVisible == CellState.IsUsed); } }
public void Should_highlight_the_the_most_likely_word_match_on_the_Board_if_a_cell_is_clicked_on_the_Board() { //CurrentSelectedCell var puzzleBoardVm = new DesignPuzzleBoardViewModel(); puzzleBoardVm.StartPauseButtonCaption = "Start"; puzzleBoardVm.GameIsRunning = false; puzzleBoardVm.StartPauseCommand.Execute(null); //Act var wordToAdd = puzzleBoardVm.Words.FirstOrDefault(x => x.Direction == Direction.Down); puzzleBoardVm.CurrentSelectedCell = wordToAdd.Cells[1]; foreach (var cell in puzzleBoardVm.SelectedWordDown.Cells) { Assert.IsTrue(cell.IsVisible == CellState.IsUsed); } }