/** * */ package net.sf.colossus.game; import junit.framework.TestCase; import net.sf.colossus.client.BattleClientSide; import net.sf.colossus.client.LegionClientSide; import net.sf.colossus.server.BattleServerSide; import net.sf.colossus.server.VariantSupport; import net.sf.colossus.variant.CreatureType; import net.sf.colossus.variant.MasterHex; import net.sf.colossus.variant.Variant; /** * */ public class BattleTest extends TestCase { Game game; CreatureType cyclops; CreatureType troll; Player red; Player blue; Legion attacker; Legion defender; MasterHex hex; Battle battle; BattleClientSide battleCS; BattleServerSide battleSS; /** * @param name */ public BattleTest(String name) { super(name); } @Override protected void setUp() throws Exception { super.setUp(); Variant variant = VariantSupport.loadVariantByName("Default", true); String[] names = new String[0]; game = new Game(variant, names); assertEquals("Default", game.getVariant().getName()); hex = game.getVariant().getMasterBoard().getHexByLabel("35"); assertEquals("Desert", hex.getTerrain().getId()); red = new Player(game, "Red", 0); blue = new Player(game, "Blue", 1); game.addPlayer(red); game.addPlayer(blue); attacker = new LegionClientSide(red, "Rd03", hex); defender = new LegionClientSide(blue, "Bu09", hex); red.addLegion(attacker); blue.addLegion(defender); cyclops = game.getVariant().getCreatureByName("Cyclops"); troll = game.getVariant().getCreatureByName("Troll"); battleCS = new BattleClientSide(game, attacker, defender, hex); battle = battleCS; assertEquals(battleCS.getBattleTurnNumber(), 1); assertEquals(battleCS.getAttackingLegion(), attacker); assertEquals(battleCS.getDefendingLegion(), defender); // Can't do below, because LegionClientSide does not work with generic Player // assertEquals(battle.getAttackingLegion().getPlayer().getName(), "Red"); // assertEquals(battle.getDefendingLegion().getPlayer().getName(), "Blue"); } @Override protected void tearDown() throws Exception { super.tearDown(); } public void testInit() { battleCS.init(2, red, BattlePhase.MOVE); assertEquals(battle.getBattleTurnNumber(), 2); assertEquals(battle.getAttackingLegion(), attacker); } public void testBattleTurnNumber() { battleCS.setBattleTurnNumber(4); assertEquals(battleCS.getBattleTurnNumber(), 4); assertEquals(battle.getBattleTurnNumber(), 4); } }