public FollowerQuantities SelectFollowerQuantitiesFor(int leadershipScore) { var followerQuantities = new FollowerQuantities(); followerQuantities.Level1 = GetQuantityOfFollowersAtLevel(1, leadershipScore); followerQuantities.Level2 = GetQuantityOfFollowersAtLevel(2, leadershipScore); followerQuantities.Level3 = GetQuantityOfFollowersAtLevel(3, leadershipScore); followerQuantities.Level4 = GetQuantityOfFollowersAtLevel(4, leadershipScore); followerQuantities.Level5 = GetQuantityOfFollowersAtLevel(5, leadershipScore); followerQuantities.Level6 = GetQuantityOfFollowersAtLevel(6, leadershipScore); return followerQuantities; }
public void Setup() { mockCharacterGenerator = new Mock<ICharacterGenerator>(); mockLeadershipSelector = new Mock<ILeadershipSelector>(); mockPercentileSelector = new Mock<IPercentileSelector>(); mockAdjustmentsSelector = new Mock<IAdjustmentsSelector>(); mockSetLevelRandomizer = new Mock<ISetLevelRandomizer>(); mockSetAlignmentRandomizer = new Mock<ISetAlignmentRandomizer>(); mockAnyAlignmentRandomizer = new Mock<IAlignmentRandomizer>(); mockAnyPlayerClassNameRandomizer = new Mock<IClassNameRandomizer>(); mockAnyBaseRaceRandomizer = new Mock<RaceRandomizer>(); mockAnyMetaraceRandomizer = new Mock<RaceRandomizer>(); mockRawStatRandomizer = new Mock<IStatsRandomizer>(); mockBooleanPercentileSelector = new Mock<IBooleanPercentileSelector>(); mockCollectionsSelector = new Mock<ICollectionsSelector>(); mockAlignmentGenerator = new Mock<IAlignmentGenerator>(); generator = new ConfigurableIterationGenerator(2); mockAnyNPCClassNameRandomizer = new Mock<IClassNameRandomizer>(); leadershipGenerator = new LeadershipGenerator(mockCharacterGenerator.Object, mockLeadershipSelector.Object, mockPercentileSelector.Object, mockAdjustmentsSelector.Object, mockSetLevelRandomizer.Object, mockSetAlignmentRandomizer.Object, mockAnyAlignmentRandomizer.Object, mockAnyPlayerClassNameRandomizer.Object, mockAnyBaseRaceRandomizer.Object, mockAnyMetaraceRandomizer.Object, mockRawStatRandomizer.Object, mockBooleanPercentileSelector.Object, mockCollectionsSelector.Object, mockAlignmentGenerator.Object, generator, mockAnyNPCClassNameRandomizer.Object); allowedAlignments = new List<string>(); followerQuantities = new FollowerQuantities(); npcClasses = new List<string>(); mockLeadershipSelector.Setup(s => s.SelectFollowerQuantitiesFor(It.IsAny<int>())).Returns(new FollowerQuantities()); mockSetLevelRandomizer.SetupAllProperties(); mockSetAlignmentRandomizer.SetupAllProperties(); leaderAlignment = "leader alignment"; allowedAlignments.Add(leaderAlignment); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.AlignmentGroups, leaderAlignment)) .Returns(allowedAlignments); mockAlignmentGenerator.Setup(g => g.GenerateWith(mockSetAlignmentRandomizer.Object)).Returns((IAlignmentRandomizer r) => (r as ISetAlignmentRandomizer).SetAlignment); mockAlignmentGenerator.Setup(g => g.GenerateWith(mockAnyAlignmentRandomizer.Object)).Returns(new Alignment("any alignment")); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ClassNameGroups, GroupConstants.NPCs)).Returns(npcClasses); }