public void ActionTestWithStartTimeDeadlineTest(bool useStartTime, bool useDeadLine) { //Arrange Quest quest = new FakeQuest(); Quest parent = new FakeQuest(); IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); questViewModel.Expect(qvm => qvm.Model). Repeat.Once(). Return(quest); ICommand addCommand = MockRepository.GenerateStrictMock <ICommand>(); addCommand.Expect(ac => ac.Execute()). Return(true). Repeat.Once(); addCommand.Expect(ac => ac.Commit()). Return(true). Repeat.Once(); IQuestTree questRepository = MockRepository.GenerateStrictMock <IQuestTree>(); questRepository.Expect(qt => qt.Get(Arg <Predicate <Quest> > .Is.NotNull)). Repeat.Once(). Return(parent); ITreeCommandsFactory factory = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); factory.Expect(f => f.AddQuest(Arg <Quest> .Is.Equal(parent), Arg <Quest> .Is.Equal(quest))) .Return(addCommand) .Repeat.Once(); IQuestValidator <ClarifiedResponse <int> > questValidator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); IQuestViewModelFactory questViewModelFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); questViewModelFactory.Expect(qc => qc.CreateQuestViewModel()). Repeat.Once(). Return(questViewModel); QuestCreateViewModel viewModel = new QuestCreateViewModel( questViewModelFactory, questValidator, questRepository, factory); //Act viewModel.Initialize(); viewModel.Action(); //Assert questViewModel.VerifyAllExpectations(); addCommand.VerifyAllExpectations(); questRepository.VerifyAllExpectations(); factory.VerifyAllExpectations(); questValidator.VerifyAllExpectations(); questViewModelFactory.VerifyAllExpectations(); }
public void InitializeTest() { //Arrange IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); IQuestViewModelFactory vmFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); vmFactory.Expect(vmf => vmf.CreateQuestViewModel()). Repeat.Once(). Return(questViewModel); IQuestValidator <ClarifiedResponse <int> > validator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); MockQuestAbstractActionViewModel viewModel = new MockQuestAbstractActionViewModel(vmFactory, validator); //Act viewModel.Initialize(); //Assert Assert.AreEqual(questViewModel, viewModel.QuestViewModel); questViewModel.VerifyAllExpectations(); validator.VerifyAllExpectations(); }
public void ParentIdTest() { //Arrange int parentId = 42; IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); IQuestTree questRepository = MockRepository.GenerateStrictMock <IQuestTree>(); ITreeCommandsFactory factory = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); IQuestValidator <ClarifiedResponse <int> > questValidator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); IQuestViewModelFactory questViewModelFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); QuestCreateViewModel viewModel = new QuestCreateViewModel( questViewModelFactory, questValidator, questRepository, factory); //Act viewModel.ParentId = parentId; int actualParentId = viewModel.ParentId; //Assert Assert.AreEqual(parentId, actualParentId); questViewModel.VerifyAllExpectations(); questRepository.VerifyAllExpectations(); factory.VerifyAllExpectations(); questValidator.VerifyAllExpectations(); questViewModelFactory.VerifyAllExpectations(); }
private void FillInputs() { IQuestViewModel questViewModel = ViewModel.QuestViewModel; TitleEditText.Text = questViewModel.Title; DescriptionEditText.Text = questViewModel.Description; ImportanceCheckBox.Checked = questViewModel.IsImportant; StartDateTimeCheckbox.Checked = questViewModel.UseStartTime; DeadlineCheckbox.Checked = questViewModel.UseDeadline; }
public void InitializeRetrieveQuestWithoutStartDeadlineFromTreeByIdTest() { int questId = 42; Quest model = new FakeQuest() { StartTime = null, Deadline = null }; IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); questViewModel.Expect(qvm => qvm.Model). SetPropertyWithArgument(model). Repeat.Once(); questViewModel.Expect(qvm => qvm.UseStartTime). SetPropertyWithArgument(false). Repeat.Once(); questViewModel.Expect(qvm => qvm.UseDeadline). SetPropertyWithArgument(false). Repeat.Once(); IQuestTree questTree = MockRepository.GenerateStrictMock <IQuestTree>(); questTree.Expect(qt => qt.Get(Arg <Predicate <Quest> > .Is.NotNull)). Repeat.Once(). Return(model); IQuestViewModelFactory questFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); questFactory.Expect(qf => qf.CreateQuestViewModel()). Repeat.Once(). Return(questViewModel); IQuestValidator <ClarifiedResponse <int> > questValidator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); ITreeCommandsFactory treeCommands = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); QuestEditViewModel vm = new QuestEditViewModel(questFactory, questValidator, questTree, treeCommands) { QuestId = questId }; //Act vm.Initialize(); //Assert questViewModel.VerifyAllExpectations(); questTree.VerifyAllExpectations(); questFactory.VerifyAllExpectations(); questValidator.VerifyAllExpectations(); treeCommands.VerifyAllExpectations(); }
public void ActionWithModelNullTest() { //Arrange IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); questViewModel.Expect(qvm => qvm.Model). Repeat.Once(). Return(null); questViewModel.Expect(qvm => qvm.UseStartTime). Repeat.Never(); questViewModel.Expect(qvm => qvm.UseDeadline). Repeat.Never(); IQuestTree questRepository = MockRepository.GenerateStrictMock <IQuestTree>(); questRepository.Expect(qt => qt.Get(Arg <Predicate <Quest> > .Is.NotNull)). Repeat.Never(); ITreeCommandsFactory factory = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); factory.Expect(f => f.AddQuest(Arg <Quest> .Is.Anything, Arg <Quest> .Is.Anything)) .Repeat.Never(); IQuestValidator <ClarifiedResponse <int> > questValidator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); IQuestViewModelFactory questViewModelFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); questViewModelFactory.Expect(qc => qc.CreateQuestViewModel()). Repeat.Once(). Return(questViewModel); QuestCreateViewModel viewModel = new QuestCreateViewModel( questViewModelFactory, questValidator, questRepository, factory); //Act viewModel.Initialize(); viewModel.Action(); //Assert questViewModel.VerifyAllExpectations(); questRepository.VerifyAllExpectations(); factory.VerifyAllExpectations(); questValidator.VerifyAllExpectations(); questViewModelFactory.VerifyAllExpectations(); }
public void CreateQuestViewModelTest() { //Arrange Quest model = new FakeQuest(); IQuestFactory questFactory = MockRepository.GenerateStrictMock <IQuestFactory>(); questFactory.Expect(qf => qf.CreateQuest()). Repeat.Once(). Return(model); QuestViewModelFactory questVmFactory = new QuestViewModelFactory(questFactory); //Act IQuestViewModel vm = questVmFactory.CreateQuestViewModel(); //Assert Assert.IsNotNull(vm); Assert.AreEqual(model, vm.Model); Assert.IsInstanceOf <QuestViewModel>(vm); }
public void ValidateTest() { //Arrange Quest model = new FakeQuest(); ClarifiedResponse <int> response = new ClarifiedResponse <int>(); IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); questViewModel.Expect(qvm => qvm.Model). Repeat.Once(). Return(model); IQuestViewModelFactory vmFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); vmFactory.Expect(vmf => vmf.CreateQuestViewModel()). Repeat.Once(). Return(questViewModel); IQuestValidator <ClarifiedResponse <int> > validator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); validator.Expect(v => v.Validate(Arg <Quest> .Is.Equal(model))). Repeat.Once(). Return(response); MockQuestAbstractActionViewModel viewModel = new MockQuestAbstractActionViewModel(vmFactory, validator); //Act viewModel.Initialize(); ClarifiedResponse <int> actualResponse = viewModel.Validate(); //Assert Assert.IsNotNull(actualResponse); Assert.AreEqual(response, actualResponse); questViewModel.VerifyAllExpectations(); vmFactory.VerifyAllExpectations(); validator.VerifyAllExpectations(); }
/// <summary> /// Initializes current view model. /// </summary> public virtual void Initialize() { QuestViewModel = _questViewModelFactory.CreateQuestViewModel(); }
public void ActionTest(bool isCommandExecuted) { int questId = 42; Quest model = new FakeQuest() { StartTime = DateTime.Now, Deadline = DateTime.Now }; IQuestViewModel questViewModel = MockRepository.GenerateStrictMock <IQuestViewModel>(); questViewModel.Expect(qvm => qvm.Model). SetPropertyWithArgument(model). Repeat.Once(); questViewModel.Expect(qvm => qvm.Model). Repeat.Once(). Return(model); questViewModel.Expect(qvm => qvm.UseStartTime). SetPropertyWithArgument(true). Repeat.Once(); questViewModel.Expect(qvm => qvm.UseDeadline). SetPropertyWithArgument(true). Repeat.Once(); IQuestTree questTree = MockRepository.GenerateStrictMock <IQuestTree>(); questTree.Expect(qt => qt.Get(Arg <Predicate <Quest> > .Is.NotNull)). Repeat.Once(). Return(model); IQuestViewModelFactory questFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>(); questFactory.Expect(qf => qf.CreateQuestViewModel()). Repeat.Once(). Return(questViewModel); IQuestValidator <ClarifiedResponse <int> > questValidator = MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >(); ICommand updateCommand = MockRepository.GenerateStrictMock <ICommand>(); updateCommand.Expect(uc => uc.Execute()). Repeat.Once(). Return(isCommandExecuted); if (isCommandExecuted) { updateCommand.Expect(uc => uc.Commit()). Repeat.Once(). Return(true); } ITreeCommandsFactory treeCommands = MockRepository.GenerateStrictMock <ITreeCommandsFactory>(); treeCommands.Expect(tc => tc.UpdateQuest(Arg <Quest> .Is.Equal(model))). Repeat.Once(). Return(updateCommand); QuestEditViewModel vm = new QuestEditViewModel(questFactory, questValidator, questTree, treeCommands) { QuestId = questId }; //Act vm.Initialize(); vm.Action(); //Assert questViewModel.VerifyAllExpectations(); questTree.VerifyAllExpectations(); questFactory.VerifyAllExpectations(); questValidator.VerifyAllExpectations(); updateCommand.VerifyAllExpectations(); treeCommands.VerifyAllExpectations(); }