Beispiel #1
0
 public void Setup()
 {
     creatureAsserter    = new CreatureAsserter();
     collectionSelector  = GetNewInstanceOf <ICollectionSelector>();
     creatureGenerator   = GetNewInstanceOf <ICreatureGenerator>();
     compatibleCreatures = new ConcurrentDictionary <string, IEnumerable <string> >();
 }
Beispiel #2
0
        public ZombieApplicator(
            ICollectionSelector collectionSelector,
            IAdjustmentsSelector adjustmentSelector,
            Dice dice,
            IAttacksGenerator attacksGenerator,
            IFeatsGenerator featsGenerator,
            ISavesGenerator savesGenerator,
            IHitPointsGenerator hitPointsGenerator)
        {
            this.collectionSelector = collectionSelector;
            this.adjustmentSelector = adjustmentSelector;
            this.dice               = dice;
            this.attacksGenerator   = attacksGenerator;
            this.featsGenerator     = featsGenerator;
            this.savesGenerator     = savesGenerator;
            this.hitPointsGenerator = hitPointsGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Elemental,
                CreatureConstants.Types.Fey,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Vermin,
            };
        }
        public HalfFiendApplicator(
            ICollectionSelector collectionSelector,
            ITypeAndAmountSelector typeAndAmountSelector,
            ISpeedsGenerator speedsGenerator,
            IAttacksGenerator attacksGenerator,
            IFeatsGenerator featsGenerator,
            ISkillsGenerator skillsGenerator,
            Dice dice,
            IMagicGenerator magicGenerator)
        {
            this.collectionSelector    = collectionSelector;
            this.typeAndAmountSelector = typeAndAmountSelector;
            this.speedsGenerator       = speedsGenerator;
            this.attacksGenerator      = attacksGenerator;
            this.featsGenerator        = featsGenerator;
            this.skillsGenerator       = skillsGenerator;
            this.dice           = dice;
            this.magicGenerator = magicGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Elemental,
                CreatureConstants.Types.Fey,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Ooze,
                CreatureConstants.Types.Plant,
                CreatureConstants.Types.Vermin,
            };
        }
Beispiel #4
0
        public FeatsSelector(ICollectionSelector collectionsSelector, ITypeAndAmountSelector typeAndAmountSelector)
        {
            this.collectionsSelector   = collectionsSelector;
            this.typeAndAmountSelector = typeAndAmountSelector;

            helper = new SpecialQualityHelper();
        }
Beispiel #5
0
        public LycanthropeApplicator(
            ICollectionSelector collectionSelector,
            ICreatureDataSelector creatureDataSelector,
            IHitPointsGenerator hitPointsGenerator,
            Dice dice,
            ITypeAndAmountSelector typeAndAmountSelector,
            IFeatsGenerator featsGenerator,
            IAttacksGenerator attacksGenerator,
            ISavesGenerator savesGenerator,
            ISkillsGenerator skillsGenerator,
            ISpeedsGenerator speedsGenerator)
        {
            this.collectionSelector   = collectionSelector;
            this.creatureDataSelector = creatureDataSelector;
            this.hitPointsGenerator   = hitPointsGenerator;
            this.dice = dice;
            this.typeAndAmountSelector = typeAndAmountSelector;
            this.featsGenerator        = featsGenerator;
            this.attacksGenerator      = attacksGenerator;
            this.savesGenerator        = savesGenerator;
            this.skillsGenerator       = skillsGenerator;
            this.speedsGenerator       = speedsGenerator;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
            };
        }
Beispiel #6
0
        public void Setup()
        {
            stopwatch          = new Stopwatch();
            collectionSelector = GetNewInstanceOf <ICollectionSelector>();

            timeLimit = TimeSpan.FromSeconds(1);
        }
Beispiel #7
0
 public IntelligenceGenerator(Dice dice, ITreasurePercentileSelector percentileSelector, ICollectionSelector collectionsSelector, IIntelligenceDataSelector intelligenceDataSelector)
 {
     this.dice = dice;
     this.percentileSelector       = percentileSelector;
     this.collectionsSelector      = collectionsSelector;
     this.intelligenceDataSelector = intelligenceDataSelector;
 }
Beispiel #8
0
        public GhostApplicator(
            Dice dice,
            ISpeedsGenerator speedsGenerator,
            IAttacksGenerator attacksGenerator,
            ICollectionSelector collectionSelector,
            IFeatsGenerator featsGenerator,
            IItemsGenerator itemsGenerator,
            ITypeAndAmountSelector typeAndAmountSelector)
        {
            this.dice                  = dice;
            this.speedsGenerator       = speedsGenerator;
            this.attacksGenerator      = attacksGenerator;
            this.collectionSelector    = collectionSelector;
            this.featsGenerator        = featsGenerator;
            this.itemsGenerator        = itemsGenerator;
            this.typeAndAmountSelector = typeAndAmountSelector;

            creatureTypes = new[]
            {
                CreatureConstants.Types.Aberration,
                CreatureConstants.Types.Animal,
                CreatureConstants.Types.Dragon,
                CreatureConstants.Types.Giant,
                CreatureConstants.Types.Humanoid,
                CreatureConstants.Types.MagicalBeast,
                CreatureConstants.Types.MonstrousHumanoid,
                CreatureConstants.Types.Plant,
            };
        }
Beispiel #9
0
 public SkillsGenerator(ISkillSelector skillSelector, ICollectionSelector collectionsSelector, IAdjustmentsSelector adjustmentsSelector, Dice dice)
 {
     this.skillSelector       = skillSelector;
     this.collectionsSelector = collectionsSelector;
     this.adjustmentsSelector = adjustmentsSelector;
     this.dice = dice;
 }
Beispiel #10
0
 public CurseGenerator(Dice dice, ITreasurePercentileSelector percentileSelector, ICollectionSelector collectionsSelector, JustInTimeFactory justInTimeFactory)
 {
     this.dice = dice;
     this.percentileSelector  = percentileSelector;
     this.collectionsSelector = collectionsSelector;
     this.justInTimeFactory   = justInTimeFactory;
 }
Beispiel #11
0
 public FeatsGenerator(ICollectionSelector collectionsSelector, IFeatsSelector featsSelector, IFeatFocusGenerator featFocusGenerator, Dice dice)
 {
     this.collectionsSelector = collectionsSelector;
     this.featsSelector       = featsSelector;
     this.featFocusGenerator  = featFocusGenerator;
     this.dice = dice;
 }
Beispiel #12
0
        public void Setup()
        {
            mockInnerSelector  = new Mock <ICollectionSelector>();
            mockAssemblyLoader = new Mock <AssemblyLoader>();
            proxy = new CollectionSelectorCachingProxy(mockInnerSelector.Object, mockAssemblyLoader.Object);

            mockAssemblyLoader.Setup(l => l.GetRunningAssembly()).Returns(Assembly.GetExecutingAssembly());
        }
 /// <summary>
 ///     Initializes a new instance of the <see cref="EditableCollectionSelector{T}" /> class.
 /// </summary>
 /// <param name="items">The items.</param>
 /// <param name="internalSelector">The internal selector.</param>
 protected EditableCollectionSelector(ObservableCollection <T> items, ICollectionSelector <T> internalSelector)
 {
     ItemsCore         = items;
     _internalSelector = internalSelector;
     _internalSelector.SelectedItemChanged  += (sender, args) => OnSelectedItemChanged();
     _internalSelector.SelectedItemChanging += (sender, args) => OnSelectedItemChanging();
     _internalSelector.PropertyChanged      += (sender, args) => OnPropertyChanged(args);
 }
Beispiel #14
0
 public void Setup()
 {
     helper               = new AttackHelper();
     damageHelper         = new DamageHelper();
     collectionSelector   = GetNewInstanceOf <ICollectionSelector>();
     featsSelector        = GetNewInstanceOf <IFeatsSelector>();
     creatureDataSelector = GetNewInstanceOf <ICreatureDataSelector>();
 }
Beispiel #15
0
        public SpecialAbilitiesGenerator(ICollectionSelector collectionsSelector, ITreasurePercentileSelector percentileSelector, ISpecialAbilityDataSelector specialAbilityDataSelector)
        {
            this.collectionsSelector        = collectionsSelector;
            this.percentileSelector         = percentileSelector;
            this.specialAbilityDataSelector = specialAbilityDataSelector;

            damageHelper = new DamageHelper();
        }
        public void Setup()
        {
            mockMapper = new Mock<CollectionMapper>();
            mockDice = new Mock<Dice>();
            selector = new CollectionSelector(mockMapper.Object, mockDice.Object);
            allCollections = new Dictionary<string, IEnumerable<string>>();

            mockMapper.Setup(m => m.Map(TableName)).Returns(allCollections);
        }
Beispiel #17
0
 public PotionGenerator(
     ITypeAndAmountPercentileSelector typeAndAmountPercentileSelector,
     ICollectionSelector collectionSelector,
     IReplacementSelector replacementSelector)
 {
     this.typeAndAmountPercentileSelector = typeAndAmountPercentileSelector;
     this.collectionSelector  = collectionSelector;
     this.replacementSelector = replacementSelector;
 }
Beispiel #18
0
        /// <summary>
        /// Binds a <see cref="ICollectionSelector"/> to a <see cref="ComboBox"/>.
        /// </summary>
        /// <param name="comboBox"><see cref="TextBox"/> to apply binding.</param>
        /// <param name="selector"><see cref="ICollectionSelector"/> to bind.</param>
        /// <returns>Returns an <see cref="IDisposable"/> instance. Dispose it to ends binding.</returns>
        public static IDisposable Bind(this ComboBox comboBox, ICollectionSelector selector)
        {
            if (comboBox == null)
            {
                return(AnonymousDisposable.Empty);
            }

            return(new ComboBoxBinder(comboBox, selector));
        }
        public CollectionSelectorCachingProxy(ICollectionSelector innerSelector, AssemblyLoader assemblyLoader)
        {
            this.innerSelector  = innerSelector;
            this.assemblyLoader = assemblyLoader;

            cachedExplodedCollections = new Dictionary <string, IEnumerable <string> >();
            cachedExplodedWithDuplicatesCollections = new Dictionary <string, IEnumerable <string> >();
            myLock = new object();
        }
Beispiel #20
0
        public FilterVerifier(ITypeAndAmountPercentileSelector typeAndAmountPercentileSelector, ICollectionSelector collectionSelector, IEncounterCollectionSelector encounterCollectionSelector, IRollSelector rollSelector)
        {
            this.typeAndAmountPercentileSelector = typeAndAmountPercentileSelector;
            this.collectionSelector = collectionSelector;
            this.encounterCollectionSelector = encounterCollectionSelector;
            this.rollSelector = rollSelector;

            challengeRatingRegex = new Regex(RegexConstants.ChallengeRatingPattern);
            descriptionRegex = new Regex(RegexConstants.DescriptionPattern);
        }
Beispiel #21
0
        public ComboBoxBinder(ComboBox comboBox, ICollectionSelector selector)
            : base(comboBox)
        {
            _selector = selector;

            Control.SelectedIndex = _selector.SelectedIndex;
            UpdateItems();

            Control.SelectedIndexChanged += OnComboBoxSelectedIndexChanged;
            _selector.PropertyChanged    += OnSelectorPropertyChanged;
        }
Beispiel #22
0
 public MagicGenerator(
     ISpellsGenerator spellsGenerator,
     ICollectionSelector collectionsSelector,
     IAdjustmentsSelector adjustmentsSelector,
     ITypeAndAmountSelector typeAndAmountSelector)
 {
     this.spellsGenerator       = spellsGenerator;
     this.collectionsSelector   = collectionsSelector;
     this.adjustmentsSelector   = adjustmentsSelector;
     this.typeAndAmountSelector = typeAndAmountSelector;
 }
 public HalfDragonRedApplicator(
     ICollectionSelector collectionSelector,
     ISpeedsGenerator speedsGenerator,
     IAttacksGenerator attacksGenerator,
     IFeatsGenerator featsGenerator,
     ISkillsGenerator skillsGenerator,
     IAlignmentGenerator alignmentGenerator,
     Dice dice,
     IMagicGenerator magicGenerator)
     : base(collectionSelector, speedsGenerator, attacksGenerator, featsGenerator, skillsGenerator, alignmentGenerator, dice, magicGenerator)
 {
 }
Beispiel #24
0
 public StaffGenerator(ITypeAndAmountPercentileSelector typeAndAmountPercentileSelector,
                       IChargesGenerator chargesGenerator,
                       ICollectionSelector collectionsSelector,
                       ISpecialAbilitiesGenerator specialAbilitiesGenerator,
                       JustInTimeFactory justInTimeFactory)
 {
     this.typeAndAmountPercentileSelector = typeAndAmountPercentileSelector;
     this.chargesGenerator          = chargesGenerator;
     this.collectionsSelector       = collectionsSelector;
     this.specialAbilitiesGenerator = specialAbilitiesGenerator;
     this.justInTimeFactory         = justInTimeFactory;
 }
Beispiel #25
0
 public EquipmentGenerator(ICollectionSelector collectionSelector,
                           IItemsGenerator itemGenerator,
                           IPercentileSelector percentileSelector,
                           IItemSelector itemSelector,
                           JustInTimeFactory justInTimeFactory)
 {
     this.collectionSelector = collectionSelector;
     this.itemGenerator      = itemGenerator;
     this.percentileSelector = percentileSelector;
     this.itemSelector       = itemSelector;
     this.justInTimeFactory  = justInTimeFactory;
 }
 public MagicalArmorGenerator(
     ITreasurePercentileSelector percentileSelector,
     ICollectionSelector collectionsSelector,
     ISpecialAbilitiesGenerator specialAbilitiesGenerator,
     ISpecificGearGenerator specificGearGenerator,
     JustInTimeFactory justInTimeFactory)
 {
     this.percentileSelector        = percentileSelector;
     this.collectionsSelector       = collectionsSelector;
     this.specialAbilitiesGenerator = specialAbilitiesGenerator;
     this.specificGearGenerator     = specificGearGenerator;
     this.justInTimeFactory         = justInTimeFactory;
 }
Beispiel #27
0
 public ItemsGenerator(
     ITypeAndAmountPercentileSelector typeAndAmountPercentileSelector,
     JustInTimeFactory justInTimeFactory,
     ITreasurePercentileSelector percentileSelector,
     IRangeDataSelector rangeDataSelector,
     ICollectionSelector collectionSelector)
 {
     this.typeAndAmountPercentileSelector = typeAndAmountPercentileSelector;
     this.justInTimeFactory  = justInTimeFactory;
     this.percentileSelector = percentileSelector;
     this.rangeDataSelector  = rangeDataSelector;
     this.collectionSelector = collectionSelector;
 }
 public MundaneWeaponGenerator(
     ITreasurePercentileSelector percentileSelector,
     ICollectionSelector collectionsSelector,
     Dice dice,
     IWeaponDataSelector weaponDataSelector,
     IReplacementSelector replacementSelector)
 {
     this.percentileSelector  = percentileSelector;
     this.collectionsSelector = collectionsSelector;
     this.dice = dice;
     this.weaponDataSelector  = weaponDataSelector;
     this.replacementSelector = replacementSelector;
 }
Beispiel #29
0
 public RingGenerator(
     ICollectionSelector collectionsSelector,
     ISpellGenerator spellGenerator,
     IChargesGenerator chargesGenerator,
     ITypeAndAmountPercentileSelector typeAndAmountPercentileSelector,
     IReplacementSelector replacementSelector)
 {
     this.collectionsSelector             = collectionsSelector;
     this.spellGenerator                  = spellGenerator;
     this.chargesGenerator                = chargesGenerator;
     this.typeAndAmountPercentileSelector = typeAndAmountPercentileSelector;
     this.replacementSelector             = replacementSelector;
 }
Beispiel #30
0
        internal static ICollectionSelector InitializeContentManager(TestContext testContext)
        {
            string                sourceFolder             = string.Empty;
            string                targetFolder             = string.Empty;
            bool                  reportsCreated           = false;
            List <string>         scenarioList             = null;
            string                runtimeResourcesSelector = null;
            List <BadCombination> badCombinations          = null;
            List <ReportWeight>   reportsWeight            = null;

            Logging.Log("Initialize Content for the test");

            // Get runtime parameters
            LoadContextProperty(testContext, SharedConstants.SourceReportFolderKey, ref sourceFolder);
            LoadContextProperty(testContext, SharedConstants.TargetReportFolderKey, ref targetFolder);
            LoadContextProperty(testContext, SharedConstants.ScenarioListKey, ref scenarioList);
            LoadContextProperty(testContext, SharedConstants.RuntimeResourcesSelectorKey, ref runtimeResourcesSelector);
            LoadContextProperty(testContext, SharedConstants.InitializedResourcesKey, ref reportsCreated);
            LoadContextProperty <List <BadCombination> >(testContext, SharedConstants.BadCombinationsKey, ref badCombinations);
            LoadContextProperty <List <ReportWeight> >(testContext, SharedConstants.ReportsWeightKey, ref reportsWeight);

            ICollectionSelector itemSelector = null;

            if (String.IsNullOrEmpty(runtimeResourcesSelector))
            {
                itemSelector = new RandomSelector();
            }
            else
            {
                if (runtimeResourcesSelector.Equals("random", StringComparison.InvariantCultureIgnoreCase))
                {
                    itemSelector = new RandomSelector();
                }
                else
                {
                    itemSelector = new SequentialSelector();
                }
            }

            foreach (string scenario in scenarioList)
            {
                IContentManager contentManager = ContentManagerFactory.GetInstance(scenario);
                contentManager.Initialize(scenario, scenario);
                contentManager.ItemSelector = itemSelector;
                contentManager.PopulateReportListFromServer();
                contentManager.BadReportMethodCombinations = badCombinations;
                contentManager.ReporstWeight = reportsWeight;
            }

            return(itemSelector);
        }
Beispiel #31
0
        public AttackSelector(ICollectionSelector collectionSelector)
        {
            this.collectionSelector = collectionSelector;

            damageMaps         = new Dictionary <string, string>();
            damageMaps["2d8"]  = "3d8";
            damageMaps["2d6"]  = "3d6";
            damageMaps["1d10"] = "2d8";
            damageMaps["1d8"]  = "2d6";
            damageMaps["1d6"]  = "1d8";
            damageMaps["1d4"]  = "1d6";
            damageMaps["1d3"]  = "1d4";
            damageMaps["1d2"]  = "1d3";
        }
Beispiel #32
0
 public LichApplicator(
     ICollectionSelector collectionSelector,
     ICreatureDataSelector creatureDataSelector,
     Dice dice,
     IAttacksGenerator attacksGenerator,
     IFeatsGenerator featsGenerator,
     ITypeAndAmountSelector typeAndAmountSelector)
 {
     this.collectionSelector   = collectionSelector;
     this.creatureDataSelector = creatureDataSelector;
     this.dice                  = dice;
     this.attacksGenerator      = attacksGenerator;
     this.featsGenerator        = featsGenerator;
     this.typeAndAmountSelector = typeAndAmountSelector;
 }
        public EncounterGenerator(ITypeAndAmountPercentileSelector typeAndAmountPercentileSelector, IRollSelector rollSelector, IPercentileSelector percentileSelector,
            ICollectionSelector collectionSelector, Dice dice, IEncounterCharacterGenerator encounterCharacterGenerator, IEncounterTreasureGenerator encounterTreasureGenerator,
            IFilterVerifier filterVerifier, IEncounterCollectionSelector creatureCollectionSelector)
        {
            this.typeAndAmountPercentileSelector = typeAndAmountPercentileSelector;
            this.rollSelector = rollSelector;
            this.percentileSelector = percentileSelector;
            this.collectionSelector = collectionSelector;
            this.dice = dice;
            this.encounterTreasureGenerator = encounterTreasureGenerator;
            this.encounterCharacterGenerator = encounterCharacterGenerator;
            this.filterVerifier = filterVerifier;
            this.creatureCollectionSelector = creatureCollectionSelector;

            challengeRatingRegex = new Regex(RegexConstants.ChallengeRatingPattern);
            subTypeRegex = new Regex(RegexConstants.DescriptionPattern);
        }
        public EncounterTreasureGenerator(ICoinGenerator coinGenerator, IGoodsGenerator goodsGenerator, IItemsGenerator itemsGenerator, IAdjustmentSelector adjustmentSelector,
            IBooleanPercentileSelector booleanPercentileSelector, ICollectionSelector collectionSelector, IMagicalItemGeneratorRuntimeFactory magicalItemGeneratorRuntimeFactory, IMundaneItemGeneratorRuntimeFactory mundaneItemGeneratorRuntimeFactory)
        {
            this.coinGenerator = coinGenerator;
            this.goodsGenerator = goodsGenerator;
            this.itemsGenerator = itemsGenerator;
            this.adjustmentSelector = adjustmentSelector;
            this.booleanPercentileSelector = booleanPercentileSelector;
            this.collectionSelector = collectionSelector;
            this.magicalItemGeneratorRuntimeFactory = magicalItemGeneratorRuntimeFactory;
            this.mundaneItemGeneratorRuntimeFactory = mundaneItemGeneratorRuntimeFactory;

            subTypeRegex = new Regex(RegexConstants.DescriptionPattern);
            itemTypeRegex = new Regex(RegexConstants.ItemTypePattern);
            itemBonusRegex = new Regex(RegexConstants.ItemBonusPattern);
            specialAbilityRegex = new Regex(RegexConstants.SpecialAbilitiesPattern);
            traitRegex = new Regex(RegexConstants.TraitPattern);
        }
        public EncounterCharacterGenerator(ICharacterGenerator characterGenerator, IAlignmentRandomizer alignmentRandomizer, IClassNameRandomizer anyPlayerClassNameRandomizer,
            ISetLevelRandomizer setLevelRandomizer, RaceRandomizer baseRaceRandomizer, RaceRandomizer metaraceRandomizer, IStatsRandomizer statsRandomizer,
            ICollectionSelector collectionSelector, ISetMetaraceRandomizer setMetaraceRandomizer, IClassNameRandomizer anyNPCClassNameRandomizer,
            ISetClassNameRandomizer setClassNameRandomizer, Dice dice)
        {
            this.characterGenerator = characterGenerator;
            this.alignmentRandomizer = alignmentRandomizer;
            this.anyPlayerClassNameRandomizer = anyPlayerClassNameRandomizer;
            this.setLevelRandomizer = setLevelRandomizer;
            this.baseRaceRandomizer = baseRaceRandomizer;
            this.metaraceRandomizer = metaraceRandomizer;
            this.statsRandomizer = statsRandomizer;
            this.collectionSelector = collectionSelector;
            this.setMetaraceRandomizer = setMetaraceRandomizer;
            this.anyNPCClassNameRandomizer = anyNPCClassNameRandomizer;
            this.setClassNameRandomizer = setClassNameRandomizer;
            this.dice = dice;

            challengeRatingRegex = new Regex(RegexConstants.ChallengeRatingPattern);
            setCharacterLevelRegex = new Regex(RegexConstants.SetCharacterLevelPattern);
            subTypeRegex = new Regex(RegexConstants.DescriptionPattern);
        }
Beispiel #36
0
 public RollSelector(ICollectionSelector collectionSelector, Dice dice)
 {
     this.collectionSelector = collectionSelector;
     this.dice = dice;
 }
        public EncounterCollectionSelector(ICollectionSelector collectionSelector)
        {
            this.collectionSelector = collectionSelector;

            cachedCollections = new Dictionary<string, IEnumerable<string>>();
        }