public CaveGenerator(IAreaPercentileSelector areaPercentileSelector, PoolGenerator poolGenerator, IPercentileSelector percentileSelector, IEncounterGenerator encounterGenerator) { this.areaPercentileSelector = areaPercentileSelector; this.poolGenerator = poolGenerator; this.percentileSelector = percentileSelector; this.encounterGenerator = encounterGenerator; }
public DungeonGenerator(IAreaPercentileSelector areaPercentileSelector, IAreaGeneratorFactory areaGeneratorFactory, IEncounterGenerator encounterGenerator, ITrapGenerator trapGenerator, IPercentileSelector percentileSelector, AreaGenerator hallGenerator) { this.areaGeneratorFactory = areaGeneratorFactory; this.areaPercentileSelector = areaPercentileSelector; this.encounterGenerator = encounterGenerator; this.trapGenerator = trapGenerator; this.percentileSelector = percentileSelector; this.hallGenerator = hallGenerator; }
public DomainPoolGenerator(IPercentileSelector percentileSelector, IEncounterGenerator encounterGenerator, ITreasureGenerator treasureGenerator) { this.percentileSelector = percentileSelector; this.encounterGenerator = encounterGenerator; this.treasureGenerator = treasureGenerator; }
public void Setup() { mockTypeAndAmountPercentileSelector = new Mock<ITypeAndAmountPercentileSelector>(); mockRollSelector = new Mock<IRollSelector>(); mockPercentileSelector = new Mock<IPercentileSelector>(); mockCollectionSelector = new Mock<ICollectionSelector>(); mockDice = new Mock<Dice>(); mockEncounterCharacterGenerator = new Mock<IEncounterCharacterGenerator>(); mockEncounterTreasureGenerator = new Mock<IEncounterTreasureGenerator>(); mockFilterVerifier = new Mock<IFilterVerifier>(); mockCreatureCollectionSelector = new Mock<IEncounterCollectionSelector>(); encounterGenerator = new EncounterGenerator(mockTypeAndAmountPercentileSelector.Object, mockRollSelector.Object, mockPercentileSelector.Object, mockCollectionSelector.Object, mockDice.Object, mockEncounterCharacterGenerator.Object, mockEncounterTreasureGenerator.Object, mockFilterVerifier.Object, mockCreatureCollectionSelector.Object); encounterLevelAndModifier = new Dictionary<string, string>(); encounterTypeAndAmount = new Dictionary<string, string>(); requiresSubtype = new List<string>(); level = 9266; environment = "environment"; temperature = "temperature"; timeOfDay = "time of day"; encounterLevelAndModifier["90210"] = "9876"; encounterTypeAndAmount["creature"] = "creature amount"; treasure = new Treasure(); treasure.Coin.Quantity = 8765; var tableName = string.Format(TableNameConstants.LevelXEncounterLevel, level); mockTypeAndAmountPercentileSelector.Setup(s => s.SelectFrom(tableName)).Returns(encounterLevelAndModifier); mockCreatureCollectionSelector.Setup(s => s.SelectFrom(90210, environment, temperature, timeOfDay)).Returns(encounterTypeAndAmount); mockCreatureCollectionSelector.Setup(s => s.SelectAllFrom(level, environment, temperature, timeOfDay)).Returns(new[] { encounterTypeAndAmount }); mockRollSelector.Setup(s => s.SelectFrom("creature amount", 9876)).Returns("effective roll"); mockDice.Setup(d => d.Roll(It.IsAny<string>())).Returns((string s) => ParseRoll(s)); mockDice.Setup(d => d.Roll("effective roll")).Returns(42); mockCollectionSelector.Setup(s => s.SelectFrom(TableNameConstants.CreatureGroups, GroupConstants.RequiresSubtype)).Returns(requiresSubtype); mockCollectionSelector.Setup(s => s.SelectRandomFrom(It.IsAny<IEnumerable<string>>())).Returns((IEnumerable<string> c) => c.Last()); mockFilterVerifier.Setup(v => v.FiltersAreValid(environment, level, temperature, timeOfDay)).Returns(true); mockFilterVerifier.Setup(v => v.EncounterIsValid(It.IsAny<Dictionary<string, string>>(), It.IsAny<int>())).Returns(true); mockEncounterTreasureGenerator.Setup(g => g.GenerateFor(It.Is<Creature>(c => c.Name == "creature"), level)).Returns(treasure); mockEncounterTreasureGenerator.Setup(g => g.GenerateFor(It.Is<Creature>(c => c.Name != "creature"), level)).Returns(() => new Treasure()); }