public void AssignsAnAgeToACharacterBasedOnClassAndMaturity() { var cls = ClassDevelopmentAge.Young; var maturity = new Maturity(); maturity.Adulthood = 15; maturity.Young = DiceStrings.ParseDice("1d4"); var assignAges = new AssignAge(); var age = assignAges.RandomAge(cls, maturity); Assert.GreaterOrEqual(age, 16); Assert.LessOrEqual(age, 19); }
/// <summary> /// Selects the class for the character /// </summary> /// <returns>The class that was selected.</returns> /// <param name="character">Character to assign class to.</param> public CharacterSheet SelectClass(CharacterSheet character) { character.SetClass(this.classGateway.All().ToList().ChooseOne()); var hp = new HitPointGenerator(); character.SetHitPoints(hp.RollHitPoints(character)); // Assign Age based on class var assignAge = new AssignAge(); character.Age = assignAge.RandomAge(character.Class.ClassDevelopmentAge, maturityGateway.Get(character.Race)); // Figure out how this class came about var classOrigin = new ClassOriginStoryCreator(new ClassOriginYamlGateway()); character.History.ClassOriginStory = classOrigin.CreateStory(character.Class.Name); return(character); }