示例#1
0
        public void QuestTracker_Should_AdvanceOrCompleteQuest()
        {
            //given
            IJoyAction action = Mock.Of <IJoyAction>();
            IQuest     quest  = Mock.Of <IQuest>(
                q => q.AdvanceStep() &&
                q.FulfilsRequirements(this.left, action) == true &&
                q.CompleteQuest(this.left, false) == true &&
                q.IsComplete);

            this.target.AddQuest(this.left.Guid, quest);
            quest.StartQuest(this.left);

            //when
            this.target.PerformQuestAction(this.left, quest, action);

            //then
            Assert.That(this.target.GetQuestsForEntity(this.left.Guid), Is.Empty);
        }