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); }