public void AttackIsSafe_AttackingNeutralRegion_ReturnsTrue() { var fromRegion = _gameState.AddRegion(_myName, 2); var toRegion = _gameState.AddRegion(Constants.NeutralPlayerName, 2); fromRegion.Neighbors.Add(toRegion); var result = BattleAnalysis.AttackIsSafe(fromRegion, 1, toRegion, toRegion.Armies, _myName, 0.90f); Assert.IsTrue(result); }
public void ResolveConditionalAttacks_LoneTargetWithThreeWeakAttackers_NoMoves() { var targetRegion = _gameState.AddRegion(TestGameState.EnemyName, 10); var attacker1 = _gameState.AddRegion(TestGameState.MyPlayerName, 5); var attacker2 = _gameState.AddRegion(TestGameState.MyPlayerName, 5); var attacker3 = _gameState.AddRegion(TestGameState.MyPlayerName, 5); targetRegion.AddNeighbor(attacker1); targetRegion.AddNeighbor(attacker2); targetRegion.AddNeighbor(attacker3); _attackList.Add(attacker1, targetRegion, attacker1.Armies - 1); _attackList.Add(attacker2, targetRegion, attacker2.Armies - 1); _attackList.Add(attacker3, targetRegion, attacker3.Armies - 1); _attackList.ResolveConditionalAttacks(_committedMoves); Assert.AreEqual(0, _committedMoves.Count); }
public void For_NeedsAFewArmies_ReturnsNeededNumber() { var testRegion = _gameState.AddRegion(_myName, 6); var neighbor1 = _gameState.AddRegion(_enemyName, 5); testRegion.AddNeighbor(neighbor1); var neighbor2 = _gameState.AddRegion(_enemyName, 5); testRegion.AddNeighbor(neighbor2); var result = DefensiveArmiesNeeded.For(testRegion.Neighbors, testRegion.Armies, 5); Assert.AreEqual(4, result); }