public void DeleteQuestValidPositionTest() { //Arrange int position = 0; Quest parent = new FakeQuest(); Quest toDelete = new FakeQuest(); List <Quest> leaves = new List <Quest> { toDelete }; ICommand deleteCommand = MockRepository.GenerateStrictMock <ICommand>(); deleteCommand.Expect(dc => dc.Execute()). Repeat.Once(). Return(true); deleteCommand.Expect(dc => dc.Commit()). Repeat.Once(). Return(true); IQuestListModel model = MockRepository.GenerateStrictMock <IQuestListModel>(); model.Expect(rep => rep.Leaves). Repeat.Once(). Return(leaves); model.Expect(m => m.Parent). Repeat.Once(). Return(parent); IStateCommandsFactory stateCommands = MockRepository.GenerateStrictMock <IStateCommandsFactory>(); ITreeCommandsFactory repoCommands = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); repoCommands.Expect(rc => rc.DeleteQuest(Arg <Quest> .Is.Equal(parent), Arg <Quest> .Is.Equal(toDelete))). Repeat.Once(). Return(deleteCommand); QuestListViewModel viewModel = new QuestListViewModel(model, stateCommands, repoCommands); //Act Task deleteTask = viewModel.DeleteQuest(position); //Assert Assert.IsNotNull(deleteTask); deleteTask.Wait(); model.VerifyAllExpectations(); deleteCommand.VerifyAllExpectations(); repoCommands.VerifyAllExpectations(); }
public void DeleteQuestInvalidPositionTest() { //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>(); ITreeCommandsFactory repoCommands = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); QuestListViewModel viewModel = new QuestListViewModel(model, stateCommands, repoCommands); //Act Task deleteTask = viewModel.DeleteQuest(position); //Assert Assert.IsNull(deleteTask); model.VerifyAllExpectations(); }