public void StoryControllerTest()
        {
            storyline.Start();
            Assert.AreEqual("Prolog", storyline.CurrentChapter.Name);

            // No Progress
            storyline.CheckProgress();
            Assert.IsFalse(storyline.CurrentChapter.Quests[0].IsCompleted);

            // Solve a quest
            Find10HerbsObjective.herbs = 10;
            storyline.CheckProgress();
            Assert.IsFalse(storyline.CurrentChapter.Quests[0].IsCompleted);
            Assert.AreEqual("Prolog", storyline.CurrentChapter.Name);

            // Call ToString to test it
            storyline.ToString();

            // Solve the second quest, this will move to the next Chapter
            GetRidOfRatsObjective.rats            = 0;
            FindTreasureChestObjective.ChestFound = true;
            storyline.CheckProgress();
            Assert.AreEqual("Epilog", storyline.CurrentChapter.Name);

            // The Storyline has been completed now
            storyline.CheckProgress();

            storyline.CheckProgress();

            // Trying the pretty representation just to make sure
            storyline.ToString();
        }
 public void RunGameDemo()
 {
     InitItemDatabase();
     InitSkillDatabase();
     Separator();
     LogToFile("*New Game started*");
     Separator();
     CreatePlayerCharacter();
     Separator();
     StartStoryline();
     Separator();
     KillAllRats();
     storyline.CheckProgress();
     LogToFile(storyline.ToString());
     Separator();
     GatherHerbs();
     storyline.CheckProgress();
     storyline.CheckProgress();
     Separator();
 }