public object CreateViewModel() { var homeWindowVm = new HomeWindowViewModel(); homeWindowVm.ServiceLocator.RegisterService<IOptionsDataSource>(new DesignTimeOptionsDataSource()); homeWindowVm.ServiceLocator.RegisterService<IGameOneDataSource>(new GameOneDataSource()); return homeWindowVm; }
public GameOneViewModel(HomeWindowViewModel homeWindowViewModel) { HomeViewModel = homeWindowViewModel; _gameOneOverViewModel = new GameOneOverViewModel(); _gameOneOverViewModel.RePlayCurrentGame += GameOneOverViewModel_RePlayCurrentGame; _gameOneOverViewModel.PlayNewGame += GameOneOverViewModel_PlayNewGame; }
public void Should_fire_command_on_main_viewmodel_to_indicate_the_word_has_received_all_chars() { var homeWindowViewModel = new HomeWindowViewModel(); var viewModel = new GameOneViewModelTestFactory().CreateViewModel(homeWindowViewModel) as GameOneViewModel; var currentWordLenght = viewModel.CurrentWord.Letters.Count; var letter = viewModel.Words[0].Letters[0].Letter; for (int i = 0; i < currentWordLenght; i++) { viewModel.KeyPressReceivedCommand.Execute(letter); } //Assert we are on the next word in the list of words Assert.IsTrue(viewModel.CurrentWord.Letters.First() == viewModel.Words[1].Letters.First()); }
public void Should_calulate_and_return_type_speed() { var homeWindowViewModel = new HomeWindowViewModel(); var viewModel = new GameOneViewModelTestFactory().CreateViewModel(homeWindowViewModel) as GameOneViewModel; viewModel.ProcessStart.Execute(null); var letter = viewModel.Words[0].Letters[0].Letter; var totalletters = viewModel.Words.Sum(x => x.Letters.Count()); //Act for (int i = 0; i < totalletters; i++) { viewModel.KeyPressReceivedCommand.Execute(letter); Thread.Sleep(5); } Assert.IsTrue(homeWindowViewModel.WordsPerMinute > 0); Assert.IsTrue(viewModel.WordsPerMinute > 0); }
public void Should_close_the_GameOverDialog_when_the_Play_New_button_is_clicked() { var homeWindowViewModel = new HomeWindowViewModel(); var viewModel = new GameOneViewModelTestFactory().CreateViewModel(homeWindowViewModel) as GameOneViewModel; viewModel.ProcessStart.Execute(null); var letter = viewModel.Words[0].Letters[0].Letter; var totalletters = viewModel.Words.Sum(x => x.Letters.Count()); //Act for (int i = 0; i < totalletters; i++) { viewModel.KeyPressReceivedCommand.Execute(letter); Thread.Sleep(5); } viewModel.GameOneOver.PlayNew.Execute(null); Assert.IsFalse(viewModel.ProcessCompleted); }