public void SelectsBasicTalentsIfNotConfiguredForAdvancedTalents() { var subject = new SelectRogueTalent(new MemoryStore(), Talents); var character = new CharacterSheet(CharacterStrategy.Default()); subject.ExecuteStep(character); var rogueTalent = character.Get <RogueTalent>(); Assert.False(rogueTalent.IsAdvancedTalent); Assert.Equal(rogueTalent, basicTalent); }
public void SelectsNonDuplicateTalents() { var configure = new MemoryStore(); configure.SetValue("advanced-talents", "true"); var subject = new SelectRogueTalent(configure, Talents); var character = new CharacterSheet(CharacterStrategy.Default()); character.Add(advancedTalent); subject.ExecuteStep(character); var rogueTalents = character.GetAll <RogueTalent>(); Assert.NotStrictEqual(rogueTalents, new RogueTalent[] { basicTalent, advancedTalent }); }
public void SelectAdvancedTalentPrefersAdvancedTalents() { var configure = new MemoryStore(); configure.SetValue("advanced-talents", "true"); var subject = new SelectRogueTalent(configure, Talents); var character = new CharacterSheet(CharacterStrategy.Default()); subject.ExecuteStep(character); var rogueTalent = character.Get <RogueTalent>(); Assert.True(rogueTalent.IsAdvancedTalent); Assert.Equal(rogueTalent, advancedTalent); }