public EquipmentGenerator(ICollectionsSelector collectionsSelector, IWeaponGenerator weaponGenerator, ITreasureGenerator treasureGenerator, IArmorGenerator armorGenerator, Generator generator) { this.collectionsSelector = collectionsSelector; this.armorGenerator = armorGenerator; this.weaponGenerator = weaponGenerator; this.treasureGenerator = treasureGenerator; this.generator = generator; }
public void Setup() { mockCollectionsSelector = new Mock<ICollectionsSelector>(); mockPercentileSelector = new Mock<IPercentileSelector>(); mockMundaneArmorGenerator = new Mock<MundaneItemGenerator>(); mockMagicalArmorGenerator = new Mock<MagicalItemGenerator>(); generator = new ConfigurableIterationGenerator(3); armorGenerator = new ArmorGenerator(mockCollectionsSelector.Object, mockPercentileSelector.Object, mockMundaneArmorGenerator.Object, mockMagicalArmorGenerator.Object, generator); feats = new List<Feat>(); characterClass = new CharacterClass(); armorProficiencyFeats = new List<string>(); shieldProficiencyFeats = new List<string>(); proficientArmors = new List<string>(); proficientShields = new List<string>(); baseArmorTypes = new List<string>(); baseShieldTypes = new List<string>(); magicalArmor = new Item(); race = new Race(); npcs = new List<string>(); race.Size = "size"; magicalArmor = CreateArmor("magical armor"); magicalArmor.IsMagical = true; magicalShield = CreateShield("magical shield"); magicalShield.IsMagical = true; baseArmorTypes.Add("base armor"); baseShieldTypes.Add("base shield"); proficientArmors.Remove(magicalArmor.Name); proficientArmors.Add(baseArmorTypes[0]); proficientArmors.Add("other armor"); proficientShields.Remove(magicalShield.Name); proficientShields.Add(baseShieldTypes[0]); proficientShields.Add("other shield"); characterClass.Level = 9266; feats.Add(new Feat { Name = "light proficiency" }); feats.Add(new Feat { Name = "shield proficiency" }); feats.Add(new Feat { Name = "other feat" }); armorProficiencyFeats.Add(feats[0].Name); shieldProficiencyFeats.Add(feats[1].Name); mockPercentileSelector.Setup(s => s.SelectFrom("Level9266Power")).Returns("power"); mockMagicalArmorGenerator.Setup(g => g.GenerateAtPower("power")).Returns(magicalArmor); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, It.IsAny<string>())) .Returns((string table, string name) => new[] { name }); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.FeatGroups, ItemTypeConstants.Armor + GroupConstants.Proficiency)) .Returns(armorProficiencyFeats); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.FeatGroups, AttributeConstants.Shield + GroupConstants.Proficiency)) .Returns(shieldProficiencyFeats); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, magicalArmor.Name)) .Returns(baseArmorTypes); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, magicalShield.Name)) .Returns(baseShieldTypes); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, feats[0].Name)) .Returns(proficientArmors); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, feats[1].Name)) .Returns(proficientShields); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ClassNameGroups, GroupConstants.NPCs)) .Returns(npcs); }