public void SetUp() { _chanceService = new MockChanceService(); _menuFactory = new MockMenuFactory(); _teamFactory = new TestTeamFactory(_chanceService, _menuFactory); _factory = new GroupingFactory(_chanceService, _teamFactory, new FighterFactory()); }
public void ShuffleFlag_ProperlyShufflesMenuOptions([Values(new [] { 2, 1, 0 }, new [] { 0, 2, 1 })] int[] newOrder) { string[] expectedMenuActions = { ". fight\n", ". item\n", ". run\n" }; MockChanceService chanceService = new MockChanceService(); chanceService.SetShuffleIndices(newOrder); SetUpAndBuildMenu(false, false, false, true, chanceService); _menuInput.Push("1"); _menu.GetInput(); MockOutputMessage[] outputs = _menuOutput.GetOutputs(); Assert.AreEqual(4, outputs.Length); for (var i = 1; i < 4; ++i) { int expectedIndex = newOrder[i - 1]; string expectedMenuAction = expectedMenuActions[expectedIndex]; MockOutputMessage output = outputs[i]; Assert.AreEqual($"{i}{expectedMenuAction}", output.Message); } }
public void TearDown() { _zombie = null; _zombieTeam = null; _humanTeam = null; _mockChanceService = null; }
public void Setup() { _fighter = new TestHumanFighter("Hero", 1); _fighter.SetHealth(FighterHealth); _fighter.SetMana(FighterMana); _fighter.SetStrength(FighterAttack); _fighter.SetDefense(FighterDefense); _fighter.SetSpeed(FighterSpeed); _fighter.SetEvade(FighterEvade); _fighter.SetLuck(FighterLuck); _factoryFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Ted"); _factoryFighter.AddSpell(SpellFactory.GetSpell(MagicType.Fire, 1)); _enemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "enemy"); _armoredEnemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "armored"); _superArmoredEnemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "super armored"); _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new TestBattleManager(_chanceService, _input, _output); var humanTeam = new Team(_menuManager, _fighter); _battleManager.SetHumanTeam(humanTeam); var enemyTeam = new Team(_menuManager, _enemy); _battleManager.SetEnemyTeam(enemyTeam); _battleManager.SetConfig(new BattleManagerBattleConfiguration()); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _logger = new EventLogger(); _mockChanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_mockChanceService); _battleManager = new BattleManager(_mockChanceService, _input, _output); _humanPlayer1 = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Ted"); _humanPlayer2 = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Jed"); _humanPlayer2.AddSpell(_fireball); _humanPlayer2.SetMana(_fireball.Cost); _humanPlayer2.TurnEnded += TurnEndedEvents.RestoreManaOnTurnEnd; _enemyPlayer1 = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "Enemy"); _enemyPlayer2 = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "Enemy"); _humanTeam = new TestTeam(_menuManager, _humanPlayer1, _humanPlayer2); _enemyTeam = new Team(_menuManager, _enemyPlayer1, _enemyPlayer2); }
public void TearDown() { _input = null; _output = null; _chanceService = null; _humanFighter = null; _humanTeam = null; _enemyTeam = null; }
public void Setup() { _mockChanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_mockChanceService); _fairy = (Fairy)TestFighterFactory.GetFighter(TestFighterType.Fairy, 1); _fairyTeam = new Team(TestMenuManager.GetTestMenuManager(), _fairy); _humanTeam = new Team(new TestMenuManager(new MockInput(), new MockOutput()), (HumanFighter)TestFighterFactory.GetFighter(TestFighterType.HumanControlledPlayer, 1)); }
public void SetUp() { _chanceService = new MockChanceService(); _logger = new EventLogger(); TestFighterFactory.SetChanceService(_chanceService); _copperBell = new Bell(CopperBellDisplayName, BellType.Copper, new MenuFactory(), _chanceService); _silverBell = new Bell(SilverBellDisplayName, BellType.Silver, new MenuFactory(), _chanceService); _fighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); }
public void Setup() { _chanceService = new MockChanceService(); _egg1 = new Egg(MagicType.Fire); _egg2 = new Egg(MagicType.Fire); _egg3 = new Egg(MagicType.Fire); _enemyTeam = new Team(TestMenuManager.GetTestMenuManager(), _egg1, _egg2, _egg3); }
public void Setup() { _mockChanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_mockChanceService); _zombie = (Zombie)TestFighterFactory.GetFighter(TestFighterType.Zombie, 1); _zombieTeam = new Team(TestMenuManager.GetTestMenuManager(), _zombie); _humanTeam = new Team(new TestMenuManager(new MockInput(), new MockOutput()), (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1)); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _mockChanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_mockChanceService); FighterFactory.SetInput(_input); FighterFactory.SetOutput(_output); _fighter = (HumanControlledEnemyFighter)FighterFactory.GetFighter(FighterType.HumanControlledEnemy, 1, "hero"); _enemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "enemy"); }
public void SetUp() { _output = new MockOutput(); _input = new MockInput(); _chanceService = new MockChanceService(); _relationshipManager = new GodRelationshipManager(); FighterFactory.SetGodRelationshipManager(_relationshipManager); _menuFactory = new MockMenuFactory(); _decisionManager = new DecisionManager(_relationshipManager, null, _menuFactory, _input, _output); }
public void SetUp() { _chanceService = new MockChanceService(); _output = new MockOutput(); _input = new MockInput(); _team1Fighter = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _team2Fighter = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _team1 = new Team(TestMenuManager.GetTestMenuManager(), _team1Fighter); _team2 = new Team(TestMenuManager.GetTestMenuManager(), _team2Fighter); _battleManager = new TestBattleManager(_chanceService, _input, _output); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new TestBattleManager(_chanceService, _input, _output); _logger = new EventLogger(); _humanFighter = new TestHumanFighter("foo", 1); _humanTeam = new TestTeam(_humanFighter); _enemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _enemyTeam = new Team(_menuManager, _enemy); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _mockChanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_mockChanceService); _fighter = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "hero"); _enemy1 = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "enemy"); _enemy2 = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "enemy"); _ownTeam = new Team(_menuManager, _fighter); _singleEnemyTeam = new Team(_menuManager, _enemy1); _doubleEnemyTeam = new Team(_menuManager, _enemy1, _enemy2); }
public void SetUp() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new BattleManager(_chanceService, _input, _output); _human = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanTeam = new TestTeam(_menuManager, _human); _enemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _enemyTeam = new Team(_menuManager, _enemy); _doNothingMove = (DoNothingMove)MoveFactory.Get(BattleMoveType.DoNothing); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _chanceService = new MockChanceService(); _menuManager = new TestMenuManager(_input, _output); TestFighterFactory.SetChanceService(_chanceService); _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanTeam = new Team(_menuManager, _humanFighter); _level1Warrior = (Warrior)FighterFactory.GetFighter(FighterType.Warrior, 1); _level3Warrior = (Warrior)FighterFactory.GetFighter(FighterType.Warrior, 3); _warriorTeam = new Team(_menuManager, _level1Warrior); }
public void Setup() { _logger = new EventLogger(); _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_chanceService); _shade1 = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1); _shade2 = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1); _shade3 = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1); _shades = new List <Shade> { _shade1, _shade2, _shade3 }; _shadeGrouping = new ShadeFighterGrouping(_chanceService, _shades.ToArray()); _shadeTeam = new Team(TestMenuManager.GetTestMenuManager(), _shadeGrouping); _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanFighter.SetSpeed(_shade1.Speed + 1); _humanTeam = new Team(_menuManager, _humanFighter); List <BattleMove> executableMoves = _shade1.GetExecutableMoves(_humanTeam); _absorptionMoveIndex = executableMoves.FindIndex(bm => bm.MoveType == BattleMoveType.AbsorbShade); _malevolenceChargeIndex = executableMoves.FindIndex(bm => bm.MoveType == BattleMoveType.Special); _malevolenceAttackIndex = executableMoves.FindIndex(bm => bm.MoveType == BattleMoveType.ConditionalPowerAttack); _darkFogIndex = executableMoves.FindIndex(bm => bm is StatusMove); _malevolenceChargeMove = executableMoves[_malevolenceChargeIndex]; _malevolenceAttackMove = executableMoves[_malevolenceAttackIndex]; _shadeAbsorbingMove = executableMoves[_absorptionMoveIndex]; Shade fooShade = new Shade(1, _chanceService, 1); Team fooTeam = new Team(TestMenuManager.GetTestMenuManager(), fooShade); fooShade.SetTeam(fooTeam); List <BattleMove> fooExecutableAttacks = fooShade.GetExecutableMoves(_humanTeam); _malevolenceAttackNoAbsorptionMoveIndex = fooExecutableAttacks.FindIndex(bm => bm.MoveType == BattleMoveType.ConditionalPowerAttack); _malevolenceChargeNoAbsorptionMoveIndex = fooExecutableAttacks.FindIndex(bm => bm.MoveType == BattleMoveType.Special); _battleManager = new TestBattleManager(_chanceService, _input, _output); }
public void TearDown() { _logger = null; _input = null; _output = null; _menuManager = null; _chanceService = null; _shade1 = null; _shade2 = null; _shade3 = null; _shadeGrouping = null; _shadeTeam = null; _humanFighter = null; _humanTeam = null; }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _chanceService = new MockChanceService(); _menuManager = new TestMenuManager(_input, _output); _battleManager = new TestBattleManager(_chanceService, _input, _output); TestFighterFactory.SetChanceService(_chanceService); _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanTeam = new Team(_menuManager, _humanFighter); _level1ShieldGuy = (ShieldGuy)FighterFactory.GetFighter(FighterType.ShieldGuy, 1); _ally1 = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _ally2 = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _shieldGuyTeam = new Team(_menuManager, _level1ShieldGuy, _ally1, _ally2); }
public void TearDown() { _chanceService = null; _output = null; _input = null; _battleManager = null; _config = null; _regionFactory = null; _regionManager = null; _groupingFactory = null; _teamFactory = null; _mapManager = null; _humanFighter1 = null; _humanFighter2 = null; _humanTeam = null; }
public void ShuffleFlag_MenuOptionsCorrectlyAccessibleByIndex() { //Arrange MockChanceService chanceService = new MockChanceService(); chanceService.SetShuffleIndices(new[] { 2, 1, 0 }); SetUpAndBuildMenu(true, true, true, true, chanceService); _menuInput.Push("1"); //Act MenuSelection selectedOption = _menu.GetInput(); //Assert MenuAction expectedAction = _menuActions[2]; Assert.AreEqual(expectedAction.DisplayText, selectedOption.Description); }
public void PersonalityQuiz_RandomizedEntries_CorrectlyHandlesNeitherOption() { HumanFighter dante = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Dante"); HumanFighter arrokoh = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Arrokoh"); MockChanceService chanceService = new MockChanceService(); for (var i = 0; i < 8; ++i) { chanceService.PushWhichEventsOccur(i == 5 ? 3 : 0); } _decisionManager.PersonalityQuiz(dante, arrokoh, true, chanceService); Assert.AreEqual(0, _relationshipManager.GetFighterRelationshipValue(dante, GodEnum.MalevolentGod), "sixth question should not raise malevolent god relationship for either fighters for 'neither' result"); Assert.AreEqual(0, _relationshipManager.GetFighterRelationshipValue(arrokoh, GodEnum.MalevolentGod), "sixth question should not raise malevolent god relationship for either fighters for 'neither' result"); Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(dante, GodEnum.MercyGod), "sixth question should raise mercy god relationship for both fighters for 'neither' result"); Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(arrokoh, GodEnum.MercyGod), "sixth question should raise mercy god relationship for both fighters for 'neither' result"); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); TestFighterFactory.SetChanceService(_chanceService); _humanPlayer1 = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Ted"); _humanPlayer2 = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Jed"); _enemyPlayer1 = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, DefaultEnemyName); _enemyPlayer2 = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, DefaultEnemyName); _humanTeam = new Team(_menuManager, _humanPlayer1, _humanPlayer2); _enemyTeam = new Team(_menuManager, _enemyPlayer1, _enemyPlayer2); _humanTeam.InitializeForBattle(_enemyTeam, _input, _output); }
public void Setup() { _output = new MockOutput(); _input = new MockInput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new TestBattleManager(_chanceService, _input, _output); TestFighterFactory.SetChanceService(_chanceService); _kiki = (DancerBoss)FighterFactory.GetFighter(FighterType.DancerBoss, 1, fighterClass: FighterClass.BossDancerKiki); _riki = (DancerBoss)FighterFactory.GetFighter(FighterType.DancerBoss, 1, fighterClass: FighterClass.BossDancerRiki); _enemyTeam = new Team(_menuManager, _kiki, _riki); _hero = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Hero"); _sidekick = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "SideKick"); _humanTeam = new Team(new TestMenuManager(new MockInput(), new MockOutput()), _hero, _sidekick); }
public void Setup() { _logger = new EventLogger(); _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new TestBattleManager(_chanceService, _input, _output); _evadeButDoNotCounterStatus = new AutoEvadeStatus(1, false); _evadeAndCounterStatus = new AutoEvadeStatus(1, true); _humanFighter = new TestHumanFighter("foo", 1); _humanTeam = new TestTeam(_humanFighter); _enemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _enemyTeam = new Team(_menuManager, _enemy); _doNothing = new DoNothingMove(); }
public void SetUp() { _input = new MockInput(); _output = new MockOutput(); _chanceService = new MockChanceService(); _menuManager = new TestMenuManager(_input, _output, new MenuFactory()); _battleManager = new BattleManager(_chanceService, _input, _output); _shadeGrouping = new ShadeFighterGrouping(_chanceService, new Shade(1, _chanceService, 1), new Shade(1, _chanceService, 1), new Shade(1, _chanceService, 1)); _shadeTeam = new Team(TestMenuManager.GetTestMenuManager(), _shadeGrouping); _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanFighter.SetHealth(5); _humanFighter.SetSpeed(_shadeTeam.Fighters[0].Speed + 1); _humanTeam = new TestTeam(_menuManager, _humanFighter); _enemy = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1); _enemyTeam = new Team(TestMenuManager.GetTestMenuManager(), _enemy); }
public void Setup() { _input = new MockInput(); _output = new MockOutput(); _menuManager = new TestMenuManager(_input, _output); _chanceService = new MockChanceService(); _battleManager = new TestBattleManager(_chanceService, _input, _output); TestFighterFactory.SetChanceService(_chanceService); _barbarian = (Barbarian)FighterFactory.GetFighter(FighterType.Barbarian, 1); _enemyTeam = new Team(_menuManager, _barbarian); _hero = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "Hero"); _sidekick = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "SideKick"); _humanTeam = new TestTeam(new List <HumanFighter> { _hero, _sidekick }); }
public void SetUp() { _chanceService = new MockChanceService(); _output = new MockOutput(); _input = new MockInput(); _battleManager = new TestBattleManager(_chanceService, _input, _output); _config = new SilentBattleConfiguration(); _battleManager.SetConfig(_config); _teamFactory = new TestTeamFactory(_chanceService); _mapManager = new MockMapManager(); _decisionManager = new MockDecisionManager(new GodRelationshipManager()); _regionFactory = new MockRegionFactory(_decisionManager); _groupingFactory = new GroupingFactory(_chanceService, _teamFactory, new FighterFactory()); _humanFighter1 = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanFighter2 = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1); _humanTeam = new Team(TestMenuManager.GetTestMenuManager(), _humanFighter1, _humanFighter2); _oneEnemyTeam = GetSingleEnemyTeam(); }
public void PersonalityQuiz_RandomizedEntries_CorrectlySetsInitializationValues([Values(0, 1)] int selectedFighterInput) { HumanFighter dante = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Dante"); HumanFighter arrokoh = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Arrokoh"); HumanFighter selectedFighter = selectedFighterInput == 0 ? dante : arrokoh; HumanFighter notSelectedFighter = selectedFighterInput == 0 ? arrokoh : dante; int luckBefore = selectedFighter.Luck; MockChanceService chanceService = new MockChanceService(); for (var i = 0; i < 8; ++i) { chanceService.PushWhichEventsOccur(selectedFighterInput); } _decisionManager.PersonalityQuiz(dante, arrokoh, true, chanceService); int luckAfter = selectedFighter.Luck; //who is more enigmatic? Assert.Contains(PersonalityFlag.Enigmatic, selectedFighter.PersonalityFlags, "first question should assign enigmatic flag"); //who always wins at cards? Assert.AreEqual(10, luckAfter - luckBefore, "second question should raise luck"); //who is more likely to seek treasure? Assert.Contains(PersonalityFlag.Adventurous, selectedFighter.PersonalityFlags, "third question should assign adventurous flag"); //who sometimes watches the stars at night? Assert.Contains(PersonalityFlag.Dreamer, selectedFighter.PersonalityFlags, "fourth question should assign dreamer flag"); //who is better at solving maze puzzles? Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(selectedFighter, GodEnum.IntellectGod), "fifth question should raise IntellectGod relationship"); Assert.Contains(PersonalityFlag.MazeSolver, selectedFighter.PersonalityFlags, "fifth quesiton should assign mazeSolver flag"); //who would succumb to an evil gem? Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(selectedFighter, GodEnum.MalevolentGod), "sixth question should raise malevolent god relationship for selected fighter"); Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(notSelectedFighter, GodEnum.MercyGod), "sixth question should raise mercy god relationship for not selected fighter"); //who believes in ghosts? Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(notSelectedFighter, GodEnum.MachineGod), "seventh question should raise Machine God relationship for selected fighter"); //who eats the last donut without asking? Assert.Contains(PersonalityFlag.SelfishDonutEater, selectedFighter.PersonalityFlags, "eigth question should assign selfishDonutEater flag"); }