Example #1
0
        public void CanAddPerformCharacterSkills()
        {
            var bard = CharacterTestTemplates.BardyBard().WithSkills(new string[] { "Perform (Oratory)" });
            var versatilePerformance = new VersatilePerformance();

            versatilePerformance.AddSkill(bard.SkillRanks.GetSkill("Perform (Oratory)"));
            AssertExtensions.Contains(bard.SkillRanks.GetSkill("Perform (Oratory)"), versatilePerformance.Skills);
        }
Example #2
0
        public void WillOnlyAllowPerformSkillsToBeSelected()
        {
            var bard = CharacterTestTemplates.BardyBard().WithSkills(new string[] { "Bluff" });
            var versatilePerformance = new VersatilePerformance();

            Assert.Throws(typeof(ArgumentException), () => {
                versatilePerformance.AddSkill(bard.SkillRanks.GetSkill("Bluff"));
            });
        }
Example #3
0
        public void ChoosesTheHighestPerformanceSkillFirstThenSelectsADifferentSkill()
        {
            var bard = CharacterTestTemplates.BardyBard().WithSkills(new string[] { "Perform (Comedy)", "Perform (Percussion)" });
            var versatilePerformance = new VersatilePerformance();

            bard.Add(versatilePerformance);
            bard.SkillRanks.GetSkill("Perform (Comedy)").AddRank();

            var selector = new SelectVersatilePerformance();

            selector.ExecuteStep(bard);
            AssertExtensions.Contains(bard.SkillRanks.GetSkill("Perform (Comedy)"), versatilePerformance.Skills);
            selector.ExecuteStep(bard);
            AssertExtensions.Contains(bard.SkillRanks.GetSkill("Perform (Percussion)"), versatilePerformance.Skills);
        }