package games.strategy.triplea.ai; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.junit.Before; import org.junit.Test; import games.strategy.engine.data.GameData; import games.strategy.engine.data.PlayerID; import games.strategy.engine.data.Territory; import games.strategy.engine.data.Unit; import games.strategy.engine.data.UnitType; import games.strategy.triplea.Constants; import games.strategy.triplea.delegate.GameDataTestUtil; import games.strategy.triplea.xml.TestMapGameData; public class AIUtilsTest { private GameData gameData; @Before public void setUp() throws Exception { gameData = TestMapGameData.REVISED.getGameData(); } @Test public void testCost() { final UnitType infantry = GameDataTestUtil.infantry(gameData); final PlayerID british = GameDataTestUtil.british(gameData); assertEquals(3, AIUtils.getCost(infantry, british, gameData)); } @Test public void testSortByCost() { final Territory germany = gameData.getMap().getTerritory("Germany"); final List<Unit> sorted = new ArrayList<>(germany.getUnits().getUnits()); Collections.sort(sorted, AIUtils.getCostComparator()); assertEquals(sorted.get(0).getUnitType().getName(), Constants.UNIT_TYPE_INFANTRY); } }