public void ShouldThrowExceptionIfBattleOverAndActionPerformed() { var g = new Game { CurrentBattleDetails = new BattleDetails { BattleStatus = BattleStatus.InBattle, BattleMode = BattleMode.PlayerVsComputer }, Player = new Player() }; g.Player.SetName("Player"); g.Player.ChangeAlliance(Alliance.TeamOne); g.CurrentBattleDetails.Participants.Add(new Participant { Character = g.Player, Status = ParticipantStatus.InBattle }); var b = new Dumbass(); b.ChangeAlliance(Alliance.TeamTwo); b.SetName("Dumbass"); g.CurrentBattleDetails.Participants.Add(new Participant { Character = b, Status = ParticipantStatus.InBattle }); g.EndBattle(Alliance.TeamOne); g.CurrentBattleDetails.Arena.AddCharacterToArena(g.Player, 0, 0); var tile = g.CurrentBattleDetails.Arena.SelectFloorTile(new ArenaFloorPosition(0, 1)); var actions = g.Player.TargetTileAndSelectActions(tile); g.PerformPlayerAction(actions.Find(i => i.Name == "Run")); }
public void ShouldLevelPlayerUpWhenBotDefeated() { var g = new Game { CurrentBattleDetails = new BattleDetails { BattleMode = BattleMode.PlayerVsComputer, BattleStatus = BattleStatus.InBattle, BattleTurn = Alliance.TeamOne }, Player = new Player() }; g.Player.SetName("Player"); var b = new Dumbass(); b.SetName("Idiot"); g.Tournament.AddCharacterToTournament(b); g.StartPlayerVsComputerTournament(); g.CurrentBattleDetails.Arena.Characters.First(i => i is Dumbass).LoseHealth(200); g.EndBattle(g.Player.GetAlliance()); g.ProcessBattleOver(); Assert.IsTrue(g.Player.GetLevel() == 2); }
public void ShouldResetCharacterAfterBattle() { const int playerStartingHealth = 150; var g = new Game { CurrentBattleDetails = new BattleDetails { BattleMode = BattleMode.PlayerVsComputer, BattleStatus = BattleStatus.InBattle, BattleTurn = Alliance.TeamOne }, Player = new Player() }; g.Player.SetName("Player"); var b = new Dumbass(); b.SetName("Idiot"); g.Tournament.AddCharacterToTournament(b); g.StartPlayerVsComputerTournament(); g.CurrentBattleDetails.Arena.Characters.First(i => i is Player).LoseHealth(50); Assert.IsTrue(g.Player.Health == playerStartingHealth - 50); g.EndBattle(g.Player.GetAlliance()); g.ProcessBattleOver(); Assert.IsTrue(g.Player.Health == playerStartingHealth); }