public void ReturnsAppropriateTeam_SingleEnemy() { _menuInput.Push("yes", "goblin", "1", "no"); BattleConfigurationSpecialFlag battleFlag; Team returnedTeam = _menuManager.GetTeam(TestMenuManager.GetTestMenuManager(), _menuInput, _menuOutput, out battleFlag); Assert.AreEqual(1, returnedTeam.Fighters.Count); HumanControlledEnemyFighter humanControlledFighter = returnedTeam.Fighters[0] as HumanControlledEnemyFighter; Assert.NotNull(humanControlledFighter); Assert.IsTrue(humanControlledFighter.Fighter is Goblin); }
private static bool Foo() { SelectEnemyTeamMenuManager enemyTeamGenerator = new SelectEnemyTeamMenuManager(Globals.Input, Globals.Output); BattleConfigurationSpecialFlag battleFlag; Team enemyTeam = enemyTeamGenerator.GetTeam(new MenuManager(Globals.Input, Globals.Output, Globals.MenuFactory), Globals.Input, Globals.Output, out battleFlag); NumberInputMenu levelInputMenu = new NumberInputMenu("What levels will your fighters be (min 1. Max 5)?", Globals.Input, Globals.Output, 1, 5); NumberInputMenuSelection levelInput = levelInputMenu.GetInput() as NumberInputMenuSelection; if (levelInput == null) { throw new Exception("something went terribly wrong, a NumberInputMenu did not return a NumberInputMenuSelection"); } int level = levelInput.Number; var playerOne = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, level, "Dante"); var playerTwo = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, level, "Arrokoh"); var playerTeam = new Team(new MenuManager(Globals.Input, Globals.Output, Globals.MenuFactory), playerOne, playerTwo); BattleMove doNothing = MoveFactory.Get(BattleMoveType.DoNothing); BattleMove feintAttack = MoveFactory.Get(BattleMoveType.Attack, "feint"); BattleMove shieldBuster = MoveFactory.Get(BattleMoveType.ShieldBuster); foreach (HumanFighter fighter in playerTeam.Fighters) { fighter.AddMove(doNothing); fighter.AddMove(feintAttack); fighter.AddMove(shieldBuster); } FakeBattleManager manager = new FakeBattleManager(Globals.ChanceService, Globals.Input, Globals.Output); manager.Battle(playerTeam, enemyTeam, config: new BattleManagerBattleConfiguration { SpecialBattleFlag = battleFlag }); return(true); }