public void GetGroupingCorrectlyReturnsShadeGrouping_NoMaxLevel([Range(1, 4)] int numberEnemies, [Range(1, 3)] int fighterLevel) { ShadeGroupingConfiguration config = new ShadeGroupingConfiguration(numberEnemies, fighterLevel); ShadeFighterGrouping grouping = _factory.GetGrouping(config) as ShadeFighterGrouping; Assert.NotNull(grouping); List <Shade> shades = grouping.GetShades(); Assert.AreEqual(numberEnemies, shades.Count, $"There should be {numberEnemies} shades in the returned grouping"); Assert.True(shades.TrueForAll(s => s.Level == fighterLevel)); }
public BattleFieldInfo GetBattleFieldSetUp(BattlefieldConfiguration config) { Team generatedTeam = null; if (config.GroupingConfiguration != null) { FighterGrouping generatedGrouping = _groupingFactory.GetGrouping(config.GroupingConfiguration); generatedTeam = _teamFactory.GetTeam(generatedGrouping); } if (config.TeamConfiguration != null) { generatedTeam = _teamFactory.GetTeam(config.TeamConfiguration); } List <TerrainInteractable> terrainInteractables = new List <TerrainInteractable>(); BellTerrainConfiguration bellConfiguration = config.TerrainConfiguration as BellTerrainConfiguration; if (bellConfiguration != null) { foreach (BellType bellType in bellConfiguration.BellTypes) { terrainInteractables.Add(new Bell($"{bellType.ToString().ToLower()} bell", bellType, _menuFactory, _chanceService)); } } BattleFieldInfo generatedBattlefieldInfo = new BattleFieldInfo(generatedTeam, terrainInteractables); return(generatedBattlefieldInfo); }