public void Egg_RemovesSelfFromTeamOnDeath() { Assert.AreEqual(3, _enemyTeam.Fighters.Count); Assert.IsTrue(_enemyTeam.Contains(_egg1)); _egg1.PhysicalDamage(_egg1.MaxHealth); Assert.AreEqual(2, _enemyTeam.Fighters.Count); Assert.IsFalse(_enemyTeam.Contains(_egg1)); }
public void ShadeDoesNotChooseDarkFog_AllEnemiesEitherDeadOrAlreadyBlinded() { StatusMove darkFogMove = _shade1.GetExecutableMoves(_humanTeam)[_darkFogIndex] as StatusMove; Egg egg = new Egg(MagicType.Fire); Team team = new Team(TestMenuManager.GetTestMenuManager(), _humanFighter, egg); List <BattleMove> executableMovesBefore = _shade1.GetExecutableMoves(team); _humanFighter.AddStatus(darkFogMove?.Status); egg.PhysicalDamage(egg.MaxHealth); List <BattleMove> executableMovesAfter = _shade1.GetExecutableMoves(team); Assert.AreEqual(1, executableMovesBefore.Count - executableMovesAfter.Count); BattleMove notInAfter = executableMovesBefore.FirstOrDefault(m => !executableMovesAfter.Contains(m)); Assert.NotNull(notInAfter); Assert.AreEqual(darkFogMove, notInAfter); }