Exemple #1
0
        public void QuestIdTest()
        {
            //Arrange
            int questId = 42;

            IQuestTree             questTree    = MockRepository.GenerateStrictMock <IQuestTree>();
            IQuestViewModelFactory questFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>();
            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
            int expectedQuestId = vm.QuestId;

            //Assert
            Assert.AreEqual(questId, expectedQuestId);

            questTree.VerifyAllExpectations();
            questFactory.VerifyAllExpectations();
            questValidator.VerifyAllExpectations();
            treeCommands.VerifyAllExpectations();
        }
 /// <summary>
 /// Receives IQuestTree dependency through this constructor.
 /// </summary>
 /// <param name="questTree"></param>
 /// <param name="topChildrenPredicate"></param>
 public QuestListModelTopChildrenPredicate(IQuestTree questTree, Func <Quest, bool> topChildrenPredicate)
 {
     questTree.ThrowIfNull(nameof(questTree));
     topChildrenPredicate.ThrowIfNull(nameof(topChildrenPredicate));
     _questTree            = questTree;
     _topChildrenPredicate = topChildrenPredicate;
 }
Exemple #3
0
 public UpToRootQuestCommand(IQuestTree questTree, IQuestCommand innerCommand)
 {
     questTree.ThrowIfNull(nameof(questTree));
     innerCommand.ThrowIfNull(nameof(innerCommand));
     _questTree    = questTree;
     _innerCommand = innerCommand;
 }
Exemple #4
0
        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();
        }
Exemple #5
0
        public void CtorNullTest()
        {
            //Arrange
            IQuestTree             questTree    = MockRepository.GenerateStrictMock <IQuestTree>();
            IQuestViewModelFactory questFactory = MockRepository.GenerateStrictMock <IQuestViewModelFactory>();
            IQuestValidator <ClarifiedResponse <int> > questValidator =
                MockRepository.GenerateStrictMock <IQuestValidator <ClarifiedResponse <int> > >();
            ITreeCommandsFactory treeCommands =
                MockRepository.GenerateStrictMock <ITreeCommandsFactory>();

            //Act
            ArgumentNullException treeEx =
                Assert.Throws <ArgumentNullException>(
                    () => new QuestCreateViewModel(questFactory, questValidator, null, treeCommands));
            ArgumentNullException treeCommandsEx =
                Assert.Throws <ArgumentNullException>(
                    () => new QuestCreateViewModel(questFactory, questValidator, questTree, null));

            //Assert
            Assert.IsNotNull(treeEx);
            Assert.IsNotNull(treeCommandsEx);

            Assert.AreEqual("questTree", treeEx.ParamName);
            Assert.AreEqual("treeCommands", treeCommandsEx.ParamName);

            questFactory.VerifyAllExpectations();
            questTree.VerifyAllExpectations();
            questValidator.VerifyAllExpectations();
            treeCommands.VerifyAllExpectations();
        }
Exemple #6
0
        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();
        }
Exemple #7
0
        public void UndoWithParentsTest()
        {
            //Arrange
            Quest root    = new FakeQuest();
            Quest parent0 = new FakeQuest();
            Quest parent1 = new FakeQuest();
            Quest parent2 = new FakeQuest();

            root.Parent    = null;
            parent0.Parent = root;
            parent1.Parent = parent0;
            parent2.Parent = parent1;

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.Root).Return(root).Repeat.Times(4);

            IQuestCommand innerCommand = MockRepository.GenerateStrictMock <IQuestCommand>();

            innerCommand.Expect(ic => ic.Undo(Arg <Quest> .Is.Equal(parent2))).Repeat.Once().Return(true);
            innerCommand.Expect(ic => ic.Undo(Arg <Quest> .Is.Equal(parent1))).Repeat.Once().Return(true);
            innerCommand.Expect(ic => ic.Undo(Arg <Quest> .Is.Equal(parent0))).Repeat.Once().Return(true);
            innerCommand.Expect(ic => ic.Undo(Arg <Quest> .Is.Equal(root))).Repeat.Never();

            UpToRootQuestCommand command = new UpToRootQuestCommand(parent2, tree, innerCommand);


            //Act
            bool result = command.Undo();

            //Assert
            Assert.IsTrue(result);

            innerCommand.VerifyAllExpectations();
        }
Exemple #8
0
        /// <summary>
        /// Receives references to questTree and quest to delete.
        /// </summary>
        /// <param name="questTree"></param>
        /// <param name="parent"></param>
        /// <param name="questToDelete"></param>
        public DeleteQuestCommand(IQuestTree questTree, Quest parent, Quest questToDelete) : base(questTree)
        {
            parent.ThrowIfNull(nameof(parent));
            questToDelete.ThrowIfNull(nameof(questToDelete));

            _parent   = parent;
            _toDelete = questToDelete;
        }
        /// <summary>
        /// Receives reference to tree, parent and new child.
        /// </summary>
        /// <param name="tree"></param>
        /// <param name="parent"></param>
        /// <param name="childToAdd"></param>
        public AddQuestCommand(IQuestTree tree, Quest parent, Quest childToAdd) :
            base(tree)
        {
            parent.ThrowIfNull(nameof(parent));
            childToAdd.ThrowIfNull(nameof(childToAdd));

            Parent     = parent;
            ChildToAdd = childToAdd;
        }
Exemple #10
0
        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();
        }
 /// <summary>
 /// Receives quest model, quest validator and reference to repository command.
 /// </summary>
 /// <param name="questTree"></param>
 /// <param name="questViewModelFactory"></param>
 /// <param name="questValidator"></param>
 /// <param name="treeCommands"></param>
 public QuestEditViewModel(
     IQuestViewModelFactory questViewModelFactory,
     IQuestValidator <ClarifiedResponse <int> > questValidator,
     IQuestTree questTree,
     ITreeCommandsFactory treeCommands) : base(questViewModelFactory, questValidator)
 {
     questTree.ThrowIfNull(nameof(questTree));
     treeCommands.ThrowIfNull(nameof(treeCommands));
     _questTree       = questTree;
     _commandsFactory = treeCommands;
 }
        public void TraverseToRoot()
        {
            //Arrange
            int position = 0;

            List <Quest> children = new List <Quest>()
            {
                new FakeQuest(),
            };

            Quest parent = new FakeQuest {
                Children = children
            };


            Quest childToTraverse = children[position];

            childToTraverse.Parent = parent;


            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.IsInitialized()).
            Repeat.Once().
            Return(true);
            tree.Expect(tr => tr.Initialize()).
            Repeat.Never();
            tree.Expect(tr => tr.Root).
            Repeat.Times(7).
            Return(parent);
            tree.Expect(tr => tr.LoadChildren(Arg <Quest> .Is.Equal(childToTraverse))).
            Repeat.Once();
            tree.Expect(tr => tr.UnloadChildren(Arg <Quest> .Is.Equal(childToTraverse))).
            Repeat.Once();

            QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, q => true);

            //Act
            list.Initialize();
            bool traverseResult       = list.TraverseToLeaf(position);
            bool traverseToRootResult = list.TraverseToRoot();

            Quest        listParent   = list.Parent;
            List <Quest> listChildren = list.Leaves;

            //Assert
            Assert.AreEqual(parent, listParent);
            Assert.AreEqual(children, listChildren);

            Assert.IsTrue(traverseResult);
            Assert.IsTrue(traverseToRootResult);

            tree.VerifyAllExpectations();
        }
        public void CtorNullTest()
        {
            //Arrange
            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            //Act
            ArgumentNullException ex = Assert.Throws <ArgumentNullException>(() => new MockCommand(null, tree));

            //Assert
            Assert.IsNotNull(ex);
            Assert.AreEqual("quest", ex.ParamName);
        }
        public void CancelFailTest()
        {
            //Arrange
            IQuestTree repository = MockRepository.GenerateStrictMock <IQuestTree>();

            IStateCommandsFactory factory = new DefaultStateCommandsFactory(repository);

            //Act
            ArgumentNullException ex = Assert.Throws <ArgumentNullException>(() => factory.CancelQuest(null));

            //Assert
            Assert.IsNotNull(ex);
            Assert.AreEqual("quest", ex.ParamName);
        }
        public void DoneQuestCommandTest()
        {
            //Arrange
            IQuestTree repository = MockRepository.GenerateStrictMock <IQuestTree>();
            Quest      quest      = MockRepository.GeneratePartialMock <Quest>();

            IStateCommandsFactory factory = new DefaultStateCommandsFactory(repository);

            //Act
            ICommand command = factory.DoneQuest(quest);

            //Assert
            Assert.AreEqual(typeof(UpToRootQuestCommand), command.GetType());
        }
Exemple #16
0
        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();
        }
Exemple #17
0
        public void IsValidTest()
        {
            //Arrange
            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            AbstractTreeMock mock = new AbstractTreeMock(tree);

            //Act
            bool isValidResult = mock.IsValid();

            //Assert
            Assert.IsTrue(isValidResult);

            tree.VerifyAllExpectations();
        }
        public void CommitTest()
        {
            //Arrange
            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            UnloadChildrenQuestCommand command = new UnloadChildrenQuestCommand(tree);

            //Act
            bool result = command.Commit();

            //Assert
            Assert.IsTrue(result);

            tree.VerifyAllExpectations();
        }
Exemple #19
0
        public void AddCommandTest()
        {
            //Arrange
            Quest quest  = new FakeQuest();
            Quest parent = new FakeQuest();

            IQuestTree repository = MockRepository.GenerateStrictMock <IQuestTree>();

            ITreeCommandsFactory factory = new DefaultTreeCommandsFactory(repository);

            //Act
            ICommand addCommand = factory.AddQuest(parent, quest);

            //Assert
            Assert.IsNotNull(addCommand);
            Assert.IsTrue(addCommand is CompositeCommand);
        }
        public void CommitTest()
        {
            //Arrange
            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.Save()).Repeat.Once();

            AbstractTreeMock mock = new AbstractTreeMock(tree);

            //Act
            bool commitResult = mock.Commit();

            //Assert
            Assert.IsTrue(commitResult);

            tree.VerifyAllExpectations();
        }
        public void CommitTest()
        {
            //Arrange
            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.Save()).Repeat.Once();

            UpdateQuestCommand command = new UpdateQuestCommand(tree);

            //Act
            bool result = command.Commit();

            //Assert
            Assert.IsTrue(result);

            tree.VerifyAllExpectations();
        }
        public void RefreshAfterInitializeTest()
        {
            //Arrange
            List <Quest> children = new List <Quest>()
            {
                new FakeQuest(),
                new FakeQuest(),
                new FakeQuest(),
                new FakeQuest()
            };

            Quest parent = new FakeQuest {
                Children = children
            };

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.IsInitialized()).
            Repeat.Once().
            Return(true);
            tree.Expect(tr => tr.Initialize()).
            Repeat.Never();
            tree.Expect(tr => tr.Root).
            Repeat.Times(3).
            Return(parent);

            IQuestOrderStrategy strategy = MockRepository.GenerateStrictMock <IQuestOrderStrategy>();

            strategy.Expect(str => str.Order(Arg <IEnumerable <Quest> > .Is.Anything)).
            Repeat.Twice().
            Return(children.OrderBy(q => q.IsImportant));

            QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, q => true)
            {
                OrderStrategy = strategy
            };

            //Act
            list.Initialize();
            list.Refresh();

            //Assert
            tree.VerifyAllExpectations();
            strategy.VerifyAllExpectations();
        }
Exemple #23
0
        public void InitializeFailQuestNullTest()
        {
            //Arrange
            Quest      toDelete   = new Quest();
            Quest      parent     = new Quest();
            IQuestTree repository = MockRepository.GenerateMock <IQuestTree>();

            //Act
            ArgumentNullException parentEx = Assert.Throws <ArgumentNullException>(() => new DeleteQuestCommand(repository, null, toDelete));
            ArgumentNullException childEx  = Assert.Throws <ArgumentNullException>(() => new DeleteQuestCommand(repository, parent, null));

            //Assert
            Assert.IsNotNull(parentEx);
            Assert.AreEqual("parent", parentEx.ParamName);

            Assert.IsNotNull(childEx);
            Assert.AreEqual("questToDelete", childEx.ParamName);
        }
        public void CtorNullTest()
        {
            //Arrange
            IQuestTree         questTree = MockRepository.GenerateStrictMock <IQuestTree>();
            Func <Quest, bool> predicate = quest => true;

            //Act
            ArgumentNullException treeEx = Assert.Throws <ArgumentNullException>(() => new QuestListModelTopChildrenPredicate(null, predicate));
            ArgumentNullException predicateEx
                = Assert.Throws <ArgumentNullException>(() => new QuestListModelTopChildrenPredicate(questTree, null));

            //Assert
            Assert.IsNotNull(treeEx);
            Assert.IsNotNull(predicateEx);

            Assert.AreEqual("questTree", treeEx.ParamName);
            Assert.AreEqual("topChildrenPredicate", predicateEx.ParamName);
        }
Exemple #25
0
        public void ExecuteTest()
        {
            //Arrange
            Quest quest = QuestHelper.CreateQuest();

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.LoadChildren(Arg <Quest> .Is.Equal(quest))).Repeat.Once();

            LoadChildrenQuestCommand command = new LoadChildrenQuestCommand(tree);

            //Act
            bool result = command.Execute(quest);

            //Assert
            Assert.IsTrue(result);

            tree.VerifyAllExpectations();
        }
        public void UndoTest()
        {
            //Arrange
            Quest quest = QuestHelper.CreateQuest();

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.RevertUpdate(Arg <Quest> .Is.Equal(quest))).Repeat.Once();

            UpdateQuestCommand command = new UpdateQuestCommand(tree);

            //Act
            bool result = command.Undo(quest);

            //Assert
            Assert.IsTrue(result);

            tree.VerifyAllExpectations();
        }
        public void ExecuteTest()
        {
            //Arrange
            IQuestTree repository = MockRepository.GenerateStrictMock <IQuestTree>();

            Quest parent = new Quest();
            Quest toAdd  = new Quest();

            repository.Expect(rep => rep.AddChild(Arg <Quest> .Is.Equal(parent), Arg <Quest> .Is.Equal(toAdd))).
            Repeat.Once();

            ICommand command = new AddQuestCommand(repository, parent, toAdd);

            //Act
            command.Execute();

            //Assert
            repository.VerifyAllExpectations();
        }
        public void InitializeWithInitializedQuestTreeWithoutChildrenTest()
        {
            //Arrange
            Quest parent = new FakeQuest {
                Children = null
            };

            IQuestTree tree = MockRepository.GenerateStrictMock <IQuestTree>();

            tree.Expect(tr => tr.IsInitialized()).
            Repeat.Once().
            Return(false);
            tree.Expect(tr => tr.Initialize()).
            Repeat.Once();
            tree.Expect(tr => tr.Root).
            Repeat.Once().
            Return(parent);
            tree.Expect(tr => tr.LoadChildren(Arg <Quest> .Is.Equal(parent))).
            Repeat.Once();

            QuestListModelTopChildrenPredicate list = new QuestListModelTopChildrenPredicate(tree, q => q.State == State.Idle || q.State == State.Done);

            //Act
            bool isInitializedBeforeInitialization = list.IsInitialized();

            list.Initialize();
            bool isInitializedAfterInitialization = list.IsInitialized();

            //Assert
            Assert.IsFalse(isInitializedBeforeInitialization);
            Assert.IsTrue(isInitializedAfterInitialization);

            Quest listParent = list.Parent;

            Assert.AreEqual(parent, listParent);
            List <Quest> listChildren = list.Leaves;

            Assert.IsNull(listChildren);

            tree.VerifyAllExpectations();
        }
Exemple #29
0
        public void UndoAfterExecutionTest()
        {
            //Arrange
            IQuestTree repository = MockRepository.GenerateStrictMock <IQuestTree>();

            Quest parent   = new Quest();
            Quest toDelete = new Quest();

            repository.Expect(rep => rep.RemoveChild(Arg <Quest> .Is.Equal(parent), Arg <Quest> .Is.Equal(toDelete))).
            Repeat.Once();
            repository.Expect(rep => rep.AddChild(Arg <Quest> .Is.Equal(parent), Arg <Quest> .Is.Equal(toDelete))).Repeat.Once();

            ICommand command = new DeleteQuestCommand(repository, parent, toDelete);

            //Act
            command.Execute();
            command.Undo();

            //Assert
            repository.VerifyAllExpectations();
        }
Exemple #30
0
        public void ExecuteTest()
        {
            //Arrange
            IQuestTree repository = MockRepository.GenerateStrictMock <IQuestTree>();

            Quest parent   = QuestHelper.CreateQuest();
            Quest toDelete = QuestHelper.CreateQuest(42);

            repository.Expect(rep => rep.RemoveChild(Arg <Quest> .Is.Equal(parent), Arg <Quest> .Is.Equal(toDelete))).
            Repeat.Once();

            ICommand command = new DeleteQuestCommand(repository, parent, toDelete);

            //Act
            bool result = command.Execute();

            //Assert
            Assert.IsTrue(result);

            repository.VerifyAllExpectations();
        }