public ProficiencyCM buildProficiencyCM(Guid Character_id, StatBonusCM statBonus, int totalLevel) { ProficiencyCM cm = new ProficiencyCM(); cm.ProficiencyBonus = totalLevel / 4; IsProficientCM isProficient = buildIsProficientCM(Character_id); cm.isProficient = isProficient; SkillBonusCM skillBonus = buildSkillBonusCM(statBonus, totalLevel, isProficient); cm.TotalBonus = skillBonus; return(cm); }
public SkillBonusCM buildSkillBonusCM(StatBonusCM statBonus, int totalLevel, IsProficientCM proficiencies) { SkillBonusCM skillBonus = new SkillBonusCM(); int proficienyBonus = totalLevel / 4; //str skillBonus.Athletics = calcSkillBonus(statBonus.Strength, proficienyBonus, proficiencies.Athletics); //dex skillBonus.Acrobatics = calcSkillBonus(statBonus.Dexterity, proficienyBonus, proficiencies.Acrobatics); skillBonus.Stealth = calcSkillBonus(statBonus.Dexterity, proficienyBonus, proficiencies.Stealth); skillBonus.SleightOfHand = calcSkillBonus(statBonus.Dexterity, proficienyBonus, proficiencies.SleightOfHand); //con // no skills for constitution //int skillBonus.Arcana = calcSkillBonus(statBonus.Intelligence, proficienyBonus, proficiencies.Arcana); skillBonus.History = calcSkillBonus(statBonus.Intelligence, proficienyBonus, proficiencies.History); skillBonus.Investigation = calcSkillBonus(statBonus.Intelligence, proficienyBonus, proficiencies.Investigation); skillBonus.Nature = calcSkillBonus(statBonus.Intelligence, proficienyBonus, proficiencies.Nature); skillBonus.Religion = calcSkillBonus(statBonus.Intelligence, proficienyBonus, proficiencies.Religion); //wis skillBonus.AnimalHandling = calcSkillBonus(statBonus.Wisdom, proficienyBonus, proficiencies.AnimalHandling); skillBonus.Insight = calcSkillBonus(statBonus.Wisdom, proficienyBonus, proficiencies.Insight); skillBonus.Medicine = calcSkillBonus(statBonus.Wisdom, proficienyBonus, proficiencies.Medicine); skillBonus.Perception = calcSkillBonus(statBonus.Wisdom, proficienyBonus, proficiencies.Perception); skillBonus.Survival = calcSkillBonus(statBonus.Wisdom, proficienyBonus, proficiencies.Survival); //cha skillBonus.Deception = calcSkillBonus(statBonus.Charisma, proficienyBonus, proficiencies.Deception); skillBonus.Intimidation = calcSkillBonus(statBonus.Charisma, proficienyBonus, proficiencies.Intimidation); skillBonus.Performance = calcSkillBonus(statBonus.Charisma, proficienyBonus, proficiencies.Performance); skillBonus.Persuasion = calcSkillBonus(statBonus.Charisma, proficienyBonus, proficiencies.Persuasion); return(skillBonus); }
public void CMBUilder_buildSkillBonusCM() { //Arrange var statBonus = new StatBonusCM { Strength = 0, Dexterity = 1, Constitution = 3, Intelligence = 5, Wisdom = -3, Charisma = 3 }; var proficiencies = new IsProficientCM { Acrobatics = false, AnimalHandling = false, Arcana = true, Athletics = false, Deception = true, History = true, Intimidation = false, Investigation = true, Medicine = false, Nature = false, Perception = false, Performance = false, Persuasion = false, Religion = true, SleightOfHand = false, Stealth = false, Survival = false }; int totalLevel = 12; var expected = new SkillBonusCM { Acrobatics = 1, AnimalHandling = -3, Arcana = 8, Athletics = 0, Deception = 6, History = 8, Insight = -3, Intimidation = 3, Investigation = 8, Medicine = -3, Nature = 5, Perception = -3, Performance = 3, Persuasion = 3, Religion = 8, SleightOfHand = 1, Stealth = 1, Survival = -3 }; var CalebStats = new Stats() { Character_id = Guid.Parse("361bd911-0702-437f-ab59-a29da0f9fba4"), Strength = 10, Dexterity = 12, Constitution = 16, Intelligence = 20, Wisdom = 5, Charisma = 16 }; using (var mockAccess = AutoMock.GetLoose()) { var Caleb_id = Guid.Parse("361bd911-0702-437f-ab59-a29da0f9fba4"); mockAccess.Mock <IBaseUserAccess>() .Setup(x => x.GetStatsRecord(Caleb_id)).Returns(CalebStats); //Act //Act var access = mockAccess.Create <IBaseUserAccess>(); ICharacterCMBuilder toTest = ProcessorFactory.GetCharacterCMBuilder(access); var actual = toTest.buildSkillBonusCM(statBonus, totalLevel, proficiencies); //Assert actual.Should().BeEquivalentTo(expected); } }