public CharacterGenerator(IAlignmentGenerator alignmentGenerator, ICharacterClassGenerator characterClassGenerator, IRaceGenerator raceGenerator, IAdjustmentsSelector adjustmentsSelector, IRandomizerVerifier randomizerVerifier, IPercentileSelector percentileSelector, IAbilitiesGenerator abilitiesGenerator, ICombatGenerator combatGenerator, IEquipmentGenerator equipmentGenerator, IMagicGenerator magicGenerator, Generator generator, ICollectionsSelector collectionsSelector) { this.alignmentGenerator = alignmentGenerator; this.characterClassGenerator = characterClassGenerator; this.raceGenerator = raceGenerator; this.abilitiesGenerator = abilitiesGenerator; this.combatGenerator = combatGenerator; this.equipmentGenerator = equipmentGenerator; this.generator = generator; this.adjustmentsSelector = adjustmentsSelector; this.randomizerVerifier = randomizerVerifier; this.percentileSelector = percentileSelector; this.magicGenerator = magicGenerator; this.collectionsSelector = collectionsSelector; }
public void Setup() { mockAlignmentRandomizer = new Mock<IAlignmentRandomizer>(); mockClassNameRandomizer = new Mock<IClassNameRandomizer>(); mockLevelRandomizer = new Mock<ILevelRandomizer>(); mockBaseRaceRandomizer = new Mock<RaceRandomizer>(); mockMetaraceRandomizer = new Mock<RaceRandomizer>(); mockAdjustmentsSelector = new Mock<IAdjustmentsSelector>(); mockCollectionsSelector = new Mock<ICollectionsSelector>(); mockSetLevelRandomizer = new Mock<ISetLevelRandomizer>(); verifier = new RandomizerVerifier(mockAdjustmentsSelector.Object, mockCollectionsSelector.Object); alignments = new List<Alignment>(); characterClass = new CharacterClass(); classNames = new List<string>(); levels = new List<int>(); baseRaces = new List<string>(); metaraces = new List<string>(); adjustments = new Dictionary<string, int>(); alignment = new Alignment(); spellcasters = new List<string>(); race = new Race(); mockAlignmentRandomizer.Setup(r => r.GetAllPossibleResults()).Returns(alignments); mockClassNameRandomizer.Setup(r => r.GetAllPossibleResults(It.IsAny<Alignment>())).Returns(classNames); mockLevelRandomizer.Setup(r => r.GetAllPossibleResults()).Returns(levels); mockBaseRaceRandomizer.Setup(r => r.GetAllPossible(It.IsAny<Alignment>(), It.IsAny<CharacterClass>())) .Returns(baseRaces); mockMetaraceRandomizer.Setup(r => r.GetAllPossible(It.IsAny<Alignment>(), It.IsAny<CharacterClass>())) .Returns(metaraces); mockAdjustmentsSelector.Setup(p => p.SelectFrom(TableNameConstants.Set.Adjustments.LevelAdjustments)).Returns(adjustments); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ClassNameGroups, GroupConstants.Spellcasters)) .Returns(spellcasters); mockSetLevelRandomizer.SetupAllProperties(); mockSetLevelRandomizer.Setup(r => r.GetAllPossibleResults()).Returns(() => new[] { mockSetLevelRandomizer.Object.SetLevel }); alignments.Add(alignment); characterClass.Level = 1; characterClass.Name = "class name"; classNames.Add(characterClass.Name); levels.Add(characterClass.Level); race.BaseRace = "base race"; baseRaces.Add(race.BaseRace); metaraces.Add(race.Metarace); adjustments[baseRaces[0]] = 0; adjustments[metaraces[0]] = 0; }