示例#1
0
        public void AMinimumValueCanBeProvidedForFiguringOutTheCalculation()
        {
            string yaml      = @"---
name: strength
modifier-type: bonus
rate: 2
minimum: 1
class: wizard";
            var    modifier  = new ClassLevelModifier(yaml.ParseYaml());
            var    character = CharacterTestTemplates.Wizard();

            character.Add(modifier);
            Assert.Equal(1, modifier.Modifier);
        }
示例#2
0
        public void CalculatesTheModifierBasedOnTheNumberOfLevelsDividedByTheRate()
        {
            string yaml      = @"---
name: strength
modifier-type: bonus
rate: 2
class: wizard";
            var    modifier  = new ClassLevelModifier(yaml.ParseYaml());
            var    character = CharacterTestTemplates.Wizard();

            character.Add(modifier);
            Assert.Equal(0, modifier.Modifier);
            character.SetLevel(6);
            Assert.Equal(3, modifier.Modifier);
        }
示例#3
0
        public void CanSpecifyTheLevelToStartCountingFrom()
        {
            string yaml = @"---
name: strength
modifier-type: bonus
rate: 3
start-level: 5
minimum: 0
class: bard";

            var modifier  = new ClassLevelModifier(yaml.ParseYaml());
            var character = CharacterTestTemplates.BardyBard();

            character.Add(modifier);
            Assert.Equal(0, modifier.Modifier);
            character.SetLevel(3);
            Assert.Equal(0, modifier.Modifier);
            character.SetLevel(8);
            Assert.Equal(1, modifier.Modifier);
            character.SetLevel(14);
            Assert.Equal(3, modifier.Modifier);
        }