public void StartQuestInvalidPositionTest() { //Arrange int position = 1; List <Quest> leaves = new List <Quest>(); IQuestListModel model = MockRepository.GenerateStrictMock <IQuestListModel>(); model.Expect(rep => rep.Leaves).Repeat.Once().Return(leaves); IStateCommandsFactory stateCommands = MockRepository.GenerateStrictMock <IStateCommandsFactory>(); stateCommands.Expect(sc => sc.StartQuest(Arg <Quest> .Is.Anything)). Repeat.Never(); ITreeCommandsFactory repoCommands = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); QuestListViewModel viewModel = new QuestListViewModel(model, stateCommands, repoCommands); //Act Task deleteTask = viewModel.StartQuest(position); //Assert Assert.IsNull(deleteTask); model.VerifyAllExpectations(); stateCommands.VerifyAllExpectations(); repoCommands.VerifyAllExpectations(); }
public void StartQuestValidPositionTest() { //Arrange int position = 0; Quest toStart = new FakeQuest(); List <Quest> leaves = new List <Quest> { toStart }; ICommand startCommand = MockRepository.GenerateStrictMock <ICommand>(); startCommand.Expect(dc => dc.Execute()). Repeat.Once(). Return(true); startCommand.Expect(dc => dc.Commit()). Repeat.Once(). Return(true); IQuestListModel model = MockRepository.GenerateStrictMock <IQuestListModel>(); model.Expect(rep => rep.Leaves). Repeat.Once(). Return(leaves); IStateCommandsFactory stateCommands = MockRepository.GenerateStrictMock <IStateCommandsFactory>(); stateCommands.Expect(sc => sc.StartQuest(Arg <Quest> .Is.Equal(toStart))). Repeat.Once(). Return(startCommand); ITreeCommandsFactory repoCommands = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); QuestListViewModel viewModel = new QuestListViewModel(model, stateCommands, repoCommands); //Act Task startTask = viewModel.StartQuest(position); //Assert Assert.IsNotNull(startTask); startTask.Wait(); startCommand.VerifyAllExpectations(); model.VerifyAllExpectations(); stateCommands.VerifyAllExpectations(); repoCommands.VerifyAllExpectations(); }