package net.sf.colossus.server;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
import net.sf.colossus.variant.MasterHex;
/**
* JUnit test for balanced towers.
*
* @author David Ripton
*/
public class BalancedTowersTest extends TestCase
{
public BalancedTowersTest(String name)
{
super(name);
VariantSupport.loadVariantByName("Default", true);
}
public void testGetBalancedTowers()
{
int numPlayers = 4;
int numTowers = 6;
List<MasterHex> towerList = new ArrayList<MasterHex>();
for (int i = 0; i < numTowers; i++)
{
towerList.add(VariantSupport.getCurrentVariant().getMasterBoard()
.getHexByLabel(String.valueOf(100 * (i + 1))));
}
List<MasterHex> results = GameServerSide.getBalancedTowers(numPlayers,
towerList);
MasterHex T100 = towerList.get(0);
MasterHex T200 = towerList.get(1);
MasterHex T300 = towerList.get(2);
MasterHex T400 = towerList.get(3);
MasterHex T500 = towerList.get(4);
MasterHex T600 = towerList.get(5);
assertTrue(results.size() == 4);
assertTrue((results.contains(T100) && results.contains(T200)
&& results.contains(T400) && results.contains(T500))
|| (results.contains(T100) && results.contains(T300)
&& results.contains(T400) && results.contains(T600))
|| (results.contains(T200) && results.contains(T300)
&& results.contains(T500) && results.contains(T600)));
}
}