package net.sf.colossus.client; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import junit.framework.TestCase; import net.sf.colossus.game.Game; import net.sf.colossus.game.Legion; import net.sf.colossus.game.Player; import net.sf.colossus.server.VariantSupport; import net.sf.colossus.variant.CreatureType; import net.sf.colossus.variant.MasterHex; import net.sf.colossus.variant.Variant; /** * Test helper */ class AllPredictSplits extends ArrayList<PredictSplits> { PredictSplitNode getLeaf(String markerId) { for (PredictSplits ps : this) { PredictSplitNode leaf = ps.getLeaf(markerId); if (leaf != null) { return leaf; } } return null; } void printLeaves() { for (PredictSplits ps : this) { ps.printLeaves(); } } void printNodes() { for (PredictSplits ps : this) { ps.printNodes(); } } } /** * JUnit test for split prediction. * * @author David Ripton */ public class PredictSplitsTest extends TestCase { // TODO the unit test might as well use stdout private static final Logger LOGGER = Logger .getLogger(PredictSplitsTest.class.getName()); private static final Player player = new Player(new Game(null, new String[] {}), "Tester", 1); private static class TestLegion extends Legion { public TestLegion(Player playerState, String markerId) { super(playerState, markerId, new MasterHex("dummy", null, 0, 0)); } @Override public int getPointValue() { return 0; } @Override public boolean hasRecruited() { return false; } @Override public List<CreatureType> findEligibleAngels(int tmpScore) { assert false : "Not implemented in PredictSplitsTest."; List<CreatureType> angels = new ArrayList<CreatureType>(); return angels; } @Override public void addCreature(CreatureType type) { assert false : "Not implemented"; } @Override public void removeCreature(CreatureType type) { assert false : "Not implemented"; } } List<CreatureType> cnl; AllPredictSplits aps; PredictSplits ps; int turn = 0; private Variant variant; public PredictSplitsTest(String name) { super(name); } @Override protected void setUp() { this.variant = VariantSupport.loadVariantByName("Default", true); aps = new AllPredictSplits(); cnl = new ArrayList<CreatureType>(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); } public void testPredictSplits1() { LOGGER.log(Level.FINEST, "testPredictSplits1()"); ps = new PredictSplits("Rd01", cnl, variant); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); PredictSplitNode root = ps.getLeaf("Rd01"); assertTrue(root != null); assertTrue(ps.getLeaves(root) != null); ps.getLeaf("Rd01").split(4, new TestLegion(player, "Rd02"), turn); ps.getLeaf("Rd01").merge(ps.getLeaf("Rd02")); ps.getLeaf("Rd01").split(4, new TestLegion(player, "Rd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd02").revealCreatures(cnl); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Lion")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); ps.printLeaves(); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd02").revealCreatures(cnl); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Lion")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); ps.printLeaves(); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Warlock")); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Gargoyle")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd02").allCertain()); ps.printLeaves(); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd01").split(2, new TestLegion(player, "Rd03"), turn); ps.getLeaf("Rd02").split(2, new TestLegion(player, "Rd04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd02").revealCreatures(cnl); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd03").allCertain()); assertFalse(ps.getLeaf("Rd04").allCertain()); ps.printLeaves(); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Warlock")); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd03").revealCreatures(cnl); ps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Lion")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); ps.printLeaves(); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd02").split(2, new TestLegion(player, "Rd05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").removeCreature( variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd01").removeCreature( variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd02").removeCreature(variant.getCreatureByName("Angel")); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd02").revealCreatures(cnl); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd02").revealCreatures(cnl); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd02").removeCreatures(cnl); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); ps.printLeaves(); turn = 7; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd03").revealCreatures(cnl); ps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Lion")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); ps.printLeaves(); turn = 8; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd01").split(2, new TestLegion(player, "Rd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); ps.printLeaves(); turn = 9; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd03").revealCreatures(cnl); ps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); ps.printLeaves(); turn = 10; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd01").split(2, new TestLegion(player, "Rd06"), turn); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertFalse(ps.getLeaf("Rd06").allCertain()); ps.printLeaves(); turn = 11; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd04").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd03").revealCreatures(cnl); ps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Ranger")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertFalse(ps.getLeaf("Rd06").allCertain()); ps.printLeaves(); turn = 12; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd03").revealCreatures(cnl); ps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertFalse(ps.getLeaf("Rd06").allCertain()); ps.printLeaves(); turn = 13; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Behemoth")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); ps.printLeaves(); turn = 14; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd02").removeCreature(variant.getCreatureByName("Angel")); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd04").removeCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Angel")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd02").allCertain()); assertTrue(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); ps.printLeaves(); assertEquals(ps.getLeaf("Rd01").getHeight(), 6); assertEquals(ps.getLeaf("Rd02").getHeight(), 2); assertEquals(ps.getLeaf("Rd03").getHeight(), 7); assertEquals(ps.getLeaf("Rd04").getHeight(), 2); assertEquals(ps.getLeaf("Rd05").getHeight(), 6); assertEquals(ps.getLeaf("Rd06").getHeight(), 2); } public void testPredictSplits2() { LOGGER.log(Level.FINEST, "testPredictSplits2()"); ps = new PredictSplits("Rd11", cnl, variant); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); PredictSplitNode root = ps.getLeaf("Rd11"); assertTrue(root != null); assertTrue(ps.getLeaves(root) != null); ps.getLeaf("Rd11").split(4, new TestLegion(player, "Rd10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Gargoyle")); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Troll")); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd10").removeCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Rd11").removeCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Angel")); assertTrue(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd10").split(2, new TestLegion(player, "Rd01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Troll")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Cyclops")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 7; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd10").split(2, new TestLegion(player, "Rd06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Lion")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 8; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd11").split(2, new TestLegion(player, "Rd07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Rd10").removeCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Rd01").removeCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Lion")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 9; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Cyclops")); assertTrue(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 10; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd11").split(2, new TestLegion(player, "Rd08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Rd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd06").revealCreatures(cnl); ps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd07").revealCreatures(cnl); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd08").revealCreatures(cnl); ps.getLeaf("Rd08").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Rd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Rd01").removeCreatures(cnl); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertTrue(ps.getLeaf("Rd08").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 11; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd06").revealCreatures(cnl); ps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd07").revealCreatures(cnl); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd08").revealCreatures(cnl); ps.getLeaf("Rd08").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Warlock")); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertTrue(ps.getLeaf("Rd08").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 12; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd10").split(2, new TestLegion(player, "Rd05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd06").revealCreatures(cnl); ps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd07").revealCreatures(cnl); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Ranger")); assertFalse(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertTrue(ps.getLeaf("Rd08").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertTrue(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 13; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd11").split(2, new TestLegion(player, "Rd04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Rd07").revealCreatures(cnl); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd08").revealCreatures(cnl); ps.getLeaf("Rd08").removeCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Ranger")); assertFalse(ps.getLeaf("Rd04").allCertain()); assertFalse(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 14; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd06").revealCreatures(cnl); ps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Ranger")); assertFalse(ps.getLeaf("Rd04").allCertain()); assertFalse(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 15; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd07").split(2, new TestLegion(player, "Rd02"), turn); ps.getLeaf("Rd11").split(2, new TestLegion(player, "Rd01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd06").revealCreatures(cnl); ps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Gorgon")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd04").allCertain()); assertFalse(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 16; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd07").revealCreatures(cnl); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Ranger")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd07").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 17; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd06").split(2, new TestLegion(player, "Rd08"), turn); ps.getLeaf("Rd11").split(2, new TestLegion(player, "Rd03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd08").revealCreatures(cnl); ps.getLeaf("Rd08").removeCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); ps.getLeaf("Rd05").revealCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Behemoth")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd07").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 18; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd10").split(2, new TestLegion(player, "Rd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); ps.getLeaf("Rd11").revealCreatures(cnl); ps.getLeaf("Rd11").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd12").revealCreatures(cnl); ps.getLeaf("Rd12").removeCreatures(cnl); assertFalse(ps.getLeaf("Rd01").allCertain()); assertFalse(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertFalse(ps.getLeaf("Rd07").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 19; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Rd11").split(2, new TestLegion(player, "Rd08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd07").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Rd07").removeCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd01").revealCreatures(cnl); ps.getLeaf("Rd01").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd03").revealCreatures(cnl); ps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Rd04").revealCreatures(cnl); ps.getLeaf("Rd04").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd07").revealCreatures(cnl); ps.getLeaf("Rd07").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Rd08").revealCreatures(cnl); ps.getLeaf("Rd08").addCreature(variant.getCreatureByName("Ranger")); assertFalse(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd08").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 20; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Rd04").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Warlock")); ps.getLeaf("Rd10").revealCreatures(cnl); ps.getLeaf("Rd10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd05").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd05").removeCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Rd10").removeCreatures(cnl); ps.getLeaf("Rd05").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Rd05").removeCreatures(cnl); assertFalse(ps.getLeaf("Rd01").allCertain()); assertTrue(ps.getLeaf("Rd02").allCertain()); assertFalse(ps.getLeaf("Rd03").allCertain()); assertTrue(ps.getLeaf("Rd04").allCertain()); assertTrue(ps.getLeaf("Rd05").allCertain()); assertTrue(ps.getLeaf("Rd06").allCertain()); assertTrue(ps.getLeaf("Rd07").allCertain()); assertFalse(ps.getLeaf("Rd08").allCertain()); assertTrue(ps.getLeaf("Rd10").allCertain()); assertFalse(ps.getLeaf("Rd11").allCertain()); ps.printNodes(); ps.printLeaves(); } public void testPredictSplits3() { LOGGER.log(Level.FINEST, "testPredictSplits3()"); ps = new PredictSplits("Gr07", cnl, variant); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); PredictSplitNode root = ps.getLeaf("Gr07"); assertTrue(root != null); assertTrue(ps.getLeaves(root) != null); ps.getLeaf("Gr07").split(4, new TestLegion(player, "Gr11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Gr07").revealCreatures(cnl); ps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gr11").revealCreatures(cnl); ps.getLeaf("Gr11").addCreature(variant.getCreatureByName("Centaur")); assertFalse(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Gr07").revealCreatures(cnl); ps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Gr11").revealCreatures(cnl); ps.getLeaf("Gr11").addCreature(variant.getCreatureByName("Ogre")); assertFalse(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr11").allCertain()); ps.printNodes(); ps.printLeaves(); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gr11").revealCreatures(cnl); ps.getLeaf("Gr11").addCreature(variant.getCreatureByName("Warbear")); assertFalse(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr11").allCertain()); ps.printNodes(); ps.printLeaves(); } public void testPredictSplits5() { LOGGER.log(Level.FINEST, "testPredictSplits5()"); ps = new PredictSplits("Gd04", cnl, variant); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.printLeaves(); assertTrue(ps.getLeaf("Gd04").allCertain()); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd04").split(4, new TestLegion(player, "Gd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); ps.getLeaf("Gd12").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Warlock")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 3); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd04").allCertain()); assertTrue(ps.getLeaf("Gd12").allCertain()); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Lion")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd04").allCertain()); assertTrue(ps.getLeaf("Gd12").allCertain()); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd04").split(2, new TestLegion(player, "Gd07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Troll")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 4); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").allCertain()); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Centaur")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 3); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").allCertain()); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd04").split(2, new TestLegion(player, "Gd08"), turn); ps.getLeaf("Gd12").split(2, new TestLegion(player, "Gd03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Lion")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 3); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 3); turn = 7; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd12").split(2, new TestLegion(player, "Gd09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Troll")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 3); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 5); turn = 8; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 4); turn = 10; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Ranger")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 2); turn = 11; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd09").revealCreatures(cnl); ps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Troll")); ps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Troll")); ps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Ogre")); ps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Ogre")); ps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Ogre")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08") == null); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 2); turn = 12; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd07").split(2, new TestLegion(player, "Gd06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd09").revealCreatures(cnl); ps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Lion")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 4); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 2); turn = 13; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd12").split(2, new TestLegion(player, "Gd10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Gorgon")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 4); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 3); turn = 14; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd04").split(2, new TestLegion(player, "Gd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd09").revealCreatures(cnl); ps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd10").revealCreatures(cnl); ps.getLeaf("Gd10").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 5); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 3); turn = 15; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd12").split(2, new TestLegion(player, "Gd11"), turn); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 5); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 4); turn = 16; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Angel")); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd02").revealCreatures(cnl); ps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd11").revealCreatures(cnl); ps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 3); turn = 17; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd07").split(2, new TestLegion(player, "Gd08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd02").revealCreatures(cnl); ps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd09").revealCreatures(cnl); ps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd11").revealCreatures(cnl); ps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Minotaur")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Minotaur")); ps.getLeaf("Gd07").removeCreature(variant.getCreatureByName("Angel")); ps.getLeaf("Gd07").removeCreature(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd07").removeCreature(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd07").removeCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); ps.getLeaf("Gd04").revealCreatures(cnl); ps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Troll")); ps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Troll")); ps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd02").revealCreatures(cnl); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04") == null); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd07") == null); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); turn = 18; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd10").revealCreatures(cnl); ps.getLeaf("Gd10").addCreature(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd06") .removeCreature(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd06") .removeCreature(variant.getCreatureByName("Centaur")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd06") == null); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); turn = 19; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd10").revealCreatures(cnl); ps.getLeaf("Gd10").addCreature(variant.getCreatureByName("Lion")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); turn = 20; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd02").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd09").revealCreatures(cnl); ps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd11").revealCreatures(cnl); ps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Troll")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); turn = 22; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd09").split(2, new TestLegion(player, "Gd07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); ps.getLeaf("Gd09").revealCreatures(cnl); ps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd10").revealCreatures(cnl); ps.getLeaf("Gd10").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd11").revealCreatures(cnl); ps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Gorgon")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); turn = 23; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd02").revealCreatures(cnl); ps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Gd07").revealCreatures(cnl); ps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd11").revealCreatures(cnl); ps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd12").revealCreatures(cnl); ps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 3); assertTrue(ps.getLeaf("Gd05").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); turn = 24; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Gd02").split(2, new TestLegion(player, "Gd04"), turn); ps.getLeaf("Gd10").split(2, new TestLegion(player, "Gd06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); ps.getLeaf("Gd02").revealCreatures(cnl); ps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Gd03").revealCreatures(cnl); ps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Gd05").revealCreatures(cnl); ps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Gd08").revealCreatures(cnl); ps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Centaur")); ps.printLeaves(); assertTrue(ps.getLeaf("Gd02").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd03").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd04").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd05").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd06").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd07").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd08").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd09").numUncertainCreatures() == 1); assertTrue(ps.getLeaf("Gd10").numUncertainCreatures() == 2); assertTrue(ps.getLeaf("Gd11").numUncertainCreatures() == 0); assertTrue(ps.getLeaf("Gd12").numUncertainCreatures() == 0); } public void testPredictSplits6() { LOGGER.log(Level.FINEST, "testPredictSplits6()"); ps = new PredictSplits("Gr11", cnl, variant); aps.add(ps); turn = 1; cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr11").revealCreatures(cnl); aps.getLeaf("Gr11").split(4, new TestLegion(player, "Gr02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr02").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr11").revealCreatures(cnl); aps.getLeaf("Gr11").addCreature(variant.getCreatureByName("Centaur")); aps.printLeaves(); assertEquals(ps.getLeaf("Gr02").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Gr11").numUncertainCreatures(), 1); turn = 2; cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr11").revealCreatures(cnl); aps.getLeaf("Gr11").addCreature(variant.getCreatureByName("Centaur")); assertFalse(ps.getLeaf("Gr02").allCertain()); assertFalse(ps.getLeaf("Gr11").allCertain()); aps.printLeaves(); assertEquals(ps.getLeaf("Gr02").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Gr11").numUncertainCreatures(), 1); turn = 3; cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr11").revealCreatures(cnl); aps.getLeaf("Gr11").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); assertEquals(ps.getLeaf("Gr02").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Gr11").numUncertainCreatures(), 1); turn = 4; aps.getLeaf("Gr02").split(2, new TestLegion(player, "Gr10"), turn); aps.getLeaf("Gr11").split(3, new TestLegion(player, "Gr03"), turn); aps.getLeaf("Gr11").merge(ps.getLeaf("Gr03")); aps.printLeaves(); assertEquals(ps.getLeaf("Gr02").numUncertainCreatures(), 5); assertEquals(ps.getLeaf("Gr10").numUncertainCreatures(), 2); assertEquals(ps.getLeaf("Gr11").numUncertainCreatures(), 1); turn = 5; aps.getLeaf("Gr11").split(3, new TestLegion(player, "Gr12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr10").revealCreatures(cnl); aps.getLeaf("Gr10").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertEquals(ps.getLeaf("Gr02").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Gr10").numUncertainCreatures(), 0); assertEquals(ps.getLeaf("Gr11").numUncertainCreatures(), 4); assertEquals(ps.getLeaf("Gr12").numUncertainCreatures(), 3); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); assertEquals(ps.getLeaf("Gr02").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Gr10").numUncertainCreatures(), 0); assertEquals(ps.getLeaf("Gr11").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Gr12").numUncertainCreatures(), 0); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr10").revealCreatures(cnl); aps.getLeaf("Gr10").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr10").revealCreatures(cnl); aps.getLeaf("Gr10").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr10").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr10").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr10").removeCreature( variant.getCreatureByName("Gargoyle")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr02").allCertain()); assertFalse(ps.getLeaf("Gr11").allCertain()); assertTrue(ps.getLeaf("Gr12").allCertain()); turn = 6; cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").addCreature(variant.getCreatureByName("Centaur")); aps.printLeaves(); assertTrue(ps.getLeaf("Gr02").allCertain()); assertTrue(ps.getLeaf("Gr11").allCertain()); assertTrue(ps.getLeaf("Gr12").allCertain()); } public void testPredictSplits7() { LOGGER.log(Level.FINEST, "testPredictSplits7()"); ps = new PredictSplits("Gr08", cnl, variant); aps.add(ps); aps.printLeaves(); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr08").split(4, new TestLegion(player, "Gr04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr04").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Centaur")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Gargoyle")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr04").split(2, new TestLegion(player, "Gr06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr06").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr06").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr06").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); assertEquals(ps.getLeaf("Gr06").numCertainCreatures(), 1); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr04").split(2, new TestLegion(player, "Gr07"), turn); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr06").revealCreatures(cnl); aps.getLeaf("Gr06").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr11").removeCreatures(cnl); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr06").allCertain()); assertFalse(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 7; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr06").revealCreatures(cnl); aps.getLeaf("Gr06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Ogre")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr06").allCertain()); assertFalse(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 8; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr04").split(2, new TestLegion(player, "Gr12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr06").removeCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr12").removeCreatures(cnl); aps.printLeaves(); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertTrue(ps.getLeaf("Gr08").allCertain()); turn = 9; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertTrue(ps.getLeaf("Gr08").allCertain()); turn = 11; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr01").allCertain()); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 12; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); aps.getLeaf("Gr01").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr01").removeCreature( variant.getCreatureByName("Gargoyle")); aps.printLeaves(); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertTrue(ps.getLeaf("Gr08").allCertain()); turn = 13; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr02").allCertain()); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 14; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr04").split(2, new TestLegion(player, "Gr06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr06").revealCreatures(cnl); aps.getLeaf("Gr06").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr02").allCertain()); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr06").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 15; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr06").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr06").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr06").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").addCreature(variant.getCreatureByName("Centaur")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr02").allCertain()); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 16; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr02").allCertain()); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); turn = 17; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr02").revealCreatures(cnl); aps.getLeaf("Gr02").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gr02").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr02").removeCreature( variant.getCreatureByName("Centaur")); aps.printLeaves(); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Gorgon")); aps.printLeaves(); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); assertFalse(ps.getLeaf("Gr12").allCertain()); turn = 18; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr12").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr12").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr04").split(2, new TestLegion(player, "Gr12"), turn); aps.getLeaf("Gr07").split(2, new TestLegion(player, "Gr09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Gorgon")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr07").allCertain()); assertTrue(ps.getLeaf("Gr08").allCertain()); assertFalse(ps.getLeaf("Gr09").allCertain()); assertFalse(ps.getLeaf("Gr12").allCertain()); turn = 19; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gr09").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr09").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Gorgon")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertFalse(ps.getLeaf("Gr06").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertFalse(ps.getLeaf("Gr08").allCertain()); assertFalse(ps.getLeaf("Gr12").allCertain()); turn = 20; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr06") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr06").removeCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertFalse(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertTrue(ps.getLeaf("Gr08").allCertain()); assertFalse(ps.getLeaf("Gr12").allCertain()); turn = 21; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Behemoth")); aps.printLeaves(); assertTrue(ps.getLeaf("Gr04").allCertain()); assertTrue(ps.getLeaf("Gr07").allCertain()); assertTrue(ps.getLeaf("Gr08").allCertain()); assertTrue(ps.getLeaf("Gr12").allCertain()); } public void testPredictSplits9() { aps.add(new PredictSplits("Gd08", cnl, variant)); aps.add(new PredictSplits("Bu02", cnl, variant)); aps.add(new PredictSplits("Gr12", cnl, variant)); aps.add(new PredictSplits("Br06", cnl, variant)); aps.add(new PredictSplits("Bk06", cnl, variant)); aps.add(new PredictSplits("Rd06", cnl, variant)); aps.printLeaves(); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd08").split(4, new TestLegion(player, "Gd03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Ogre")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 2); aps.getLeaf("Bu02").split(4, new TestLegion(player, "Bu05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Bu02").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu05").numUncertainCreatures(), 2); aps.getLeaf("Gr12").split(4, new TestLegion(player, "Gr08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gr08").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Centaur")); assertEquals(aps.getLeaf("Gr08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); aps.getLeaf("Br06").split(4, new TestLegion(player, "Br01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Br01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Centaur")); assertEquals(aps.getLeaf("Br01").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br06").numUncertainCreatures(), 1); aps.getLeaf("Bk06").split(4, new TestLegion(player, "Bk10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Bk06").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 2); aps.getLeaf("Rd06").split(4, new TestLegion(player, "Rd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd02").revealCreatures(cnl); aps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Ogre")); assertEquals(aps.getLeaf("Rd02").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Rd06").numUncertainCreatures(), 4); aps.printLeaves(); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 2); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Bu02").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu05").numUncertainCreatures(), 2); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Gargoyle")); assertEquals(aps.getLeaf("Gr08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Centaur")); assertEquals(aps.getLeaf("Br01").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br06").numUncertainCreatures(), 1); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Ogre")); assertEquals(aps.getLeaf("Bk06").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 1); aps.printLeaves(); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Guardian")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 1); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Troll")); assertEquals(aps.getLeaf("Bu02").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bu05").numUncertainCreatures(), 1); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Gr08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); aps.printLeaves(); aps.getLeaf("Br06").split(3, new TestLegion(player, "Br12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Lion")); assertEquals(aps.getLeaf("Br01").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br06").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 3); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Bk06").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 1); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Gargoyle")); assertEquals(aps.getLeaf("Rd02").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Rd06").numUncertainCreatures(), 3); aps.printLeaves(); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); aps.getLeaf("Bu02").split(2, new TestLegion(player, "Bu08"), turn); aps.getLeaf("Bu02").merge(aps.getLeaf("Bu08")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr06")); aps.getLeaf("Gr12").split(2, new TestLegion(player, "Gr09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk04"), turn); aps.getLeaf("Bk10").split(2, new TestLegion(player, "Bk11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk11").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bk11").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Lion")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); aps.getLeaf("Bu02").split(2, new TestLegion(player, "Bu01"), turn); aps.getLeaf("Bu05").split(2, new TestLegion(player, "Bu09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu09").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bu09").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu09").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br12").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br11"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br11")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); aps.printLeaves(); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br09"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br09")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); turn = 7; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); aps.getLeaf("Bu05").split(2, new TestLegion(player, "Bu12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bu05").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Warlock")); aps.getLeaf("Gr12").split(3, new TestLegion(player, "Gr02"), turn); aps.getLeaf("Gr12").merge(aps.getLeaf("Gr02")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br08"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br08")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); turn = 8; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd04"), turn); aps.getLeaf("Gd08").split(2, new TestLegion(player, "Gd05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Centaur")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd05").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd08").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); aps.getLeaf("Bu02").split(2, new TestLegion(player, "Bu07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr12").split(3, new TestLegion(player, "Gr03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk12").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Rd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Guardian")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd06").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd02").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Rd06").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Rd06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd08").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Angel")); aps.printLeaves(); turn = 9; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Centaur")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd05").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu01").revealCreatures(cnl); aps.getLeaf("Bu01").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr01").split(2, new TestLegion(player, "Gr04"), turn); aps.getLeaf("Bu01").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu01").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bu01").removeCreature( variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr03").revealCreatures(cnl); aps.getLeaf("Gr03").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").split(2, new TestLegion(player, "Bk11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd05").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd05").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gd05").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gd05").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk11").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk11").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd02").revealCreatures(cnl); aps.getLeaf("Rd02").addCreature(variant.getCreatureByName("Gargoyle")); aps.printLeaves(); turn = 10; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Gorgon")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); aps.getLeaf("Bu05").split(2, new TestLegion(player, "Bu10"), turn); aps.getLeaf("Rd02").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd02").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd02").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd02").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd02").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr03").revealCreatures(cnl); aps.getLeaf("Gr03").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br09").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Br09").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk12").revealCreatures(cnl); aps.getLeaf("Bk12").addCreature(variant.getCreatureByName("Warbear")); aps.getLeaf("Rd06").split(2, new TestLegion(player, "Rd09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Rd09").revealCreatures(cnl); aps.getLeaf("Rd09").addCreature(variant.getCreatureByName("Centaur")); aps.printLeaves(); turn = 11; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd07")); aps.getLeaf("Bu02").split(2, new TestLegion(player, "Bu04"), turn); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Guardian")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr02"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr02")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br03"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br03")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br07"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br07")); aps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu04").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bu04").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); turn = 12; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd08"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd08")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr10"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr10")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br02"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br02")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br06"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br06")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Guardian")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Bu02").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bu02") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu02").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bu02").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu02").removeCreature( variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Behemoth")); aps.printLeaves(); turn = 13; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd09"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd09")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); aps.getLeaf("Bu05").split(2, new TestLegion(player, "Bu02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gr01").split(2, new TestLegion(player, "Gr07"), turn); aps.getLeaf("Gr01").merge(aps.getLeaf("Gr07")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr05"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr05")); aps.getLeaf("Rd09").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd09").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Rd09").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br07"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br07")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br04"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br04")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk12").revealCreatures(cnl); aps.getLeaf("Bk12").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); turn = 14; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Warlock")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu10").revealCreatures(cnl); aps.getLeaf("Bu10").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr01").split(2, new TestLegion(player, "Gr05"), turn); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr06")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br05"), turn); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 15; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Lion")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); aps.getLeaf("Bu07").split(2, new TestLegion(player, "Bu09"), turn); aps.getLeaf("Bu12").split(2, new TestLegion(player, "Bu06"), turn); aps.getLeaf("Bu12").merge(aps.getLeaf("Bu06")); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu10").addCreature(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr06")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr03").revealCreatures(cnl); aps.getLeaf("Gr03").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk12").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Bk12").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk12").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bk12").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bk12").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Br05").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Br05").removeCreature(variant.getCreatureByName("Ogre")); aps.printLeaves(); turn = 16; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Minotaur")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 5); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 2); aps.getLeaf("Bu12").split(2, new TestLegion(player, "Bu01"), turn); aps.getLeaf("Bu12").merge(aps.getLeaf("Bu01")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr11"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr11")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").revealCreatures(cnl); aps.getLeaf("Gr05").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br03"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br03")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Rd06").split(2, new TestLegion(player, "Rd11"), turn); aps.printLeaves(); turn = 17; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Gorgon")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 4); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); aps.getLeaf("Bu05").split(2, new TestLegion(player, "Bu08"), turn); aps.getLeaf("Bu12").split(2, new TestLegion(player, "Bu01"), turn); aps.getLeaf("Bu12").merge(aps.getLeaf("Bu01")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr06")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr09").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gr09") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr09").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr12").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu07").revealCreatures(cnl); aps.getLeaf("Bu07").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr09").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr09").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr09").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu07").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br05"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br05")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br04").revealCreatures(cnl); aps.getLeaf("Br04").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr03").revealCreatures(cnl); aps.getLeaf("Gr03").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gr03").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gr03").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr03").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr03").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gr03").removeCreature( variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd11").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu09").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Rd11").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Rd11").removeCreature( variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.printLeaves(); turn = 18; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd10"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd10")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd04").revealCreatures(cnl); aps.getLeaf("Gd04").addCreature(variant.getCreatureByName("Gorgon")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); aps.getLeaf("Bu12").split(2, new TestLegion(player, "Bu04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu04").revealCreatures(cnl); aps.getLeaf("Bu04").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr06")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").addCreature(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr05").addCreature(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").revealCreatures(cnl); aps.getLeaf("Gr05").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bk10") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr12").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk06") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr12").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk06") .removeCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr04").revealCreatures(cnl); aps.getLeaf("Gr04").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr04").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr04").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr04").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Gorgon")); aps.printLeaves(); turn = 19; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd10"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd10")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Lion")); assertEquals(aps.getLeaf("Gd03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd04").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd06").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Guardian")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr07"), turn); aps.getLeaf("Gr08").merge(aps.getLeaf("Gr07")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr01").revealCreatures(cnl); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Wyvern")); aps.printLeaves(); turn = 20; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu02").revealCreatures(cnl); aps.getLeaf("Bu02").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu10").revealCreatures(cnl); aps.getLeaf("Bu10").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr01").split(2, new TestLegion(player, "Gr03"), turn); aps.getLeaf("Gr01").merge(aps.getLeaf("Gr03")); aps.getLeaf("Gr08").split(2, new TestLegion(player, "Gr02"), turn); aps.getLeaf("Bu08") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu08") .removeCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd04").revealCreatures(cnl); aps.getLeaf("Gd04") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd04").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk06") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd04").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br04").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Centaur")); aps.printLeaves(); turn = 21; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd07")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu04").revealCreatures(cnl); aps.getLeaf("Bu04").addCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu10").revealCreatures(cnl); aps.getLeaf("Bu10").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr01").split(2, new TestLegion(player, "Gr05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Gr01") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu05").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Gr01").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr09").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr01").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu05").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Gr01").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr01").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bu05").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Gr01").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr01").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bu05").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br10"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br10")); aps.printLeaves(); turn = 22; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd09"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd09")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu09").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu09").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu09").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br07"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br07")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Warbear")); aps.getLeaf("Rd06").split(2, new TestLegion(player, "Rd07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").addCreature(variant.getCreatureByName("Gorgon")); aps.printLeaves(); turn = 23; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd05"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd05")); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Rd06").revealCreatures(cnl); aps.getLeaf("Rd06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Rd06").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd03") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Rd06") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Rd06") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Rd06").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd03") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd03").removeCreature( variant.getCreatureByName("Serpent")); aps.getLeaf("Rd06").removeCreature(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Rd07").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Rd07").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br09"), turn); aps.getLeaf("Br01").merge(aps.getLeaf("Br09")); aps.getLeaf("Bk04").split(2, new TestLegion(player, "Bk01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gr09").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr09").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr05").revealCreatures(cnl); aps.getLeaf("Gr05").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); turn = 24; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 25; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bu12").split(2, new TestLegion(player, "Bu07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr08").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Br06").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Br06") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Br06").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Gr08").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bu05").revealCreatures(cnl); aps.getLeaf("Bk04") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bu05").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu05").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Bk04").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Bk04").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk04") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk04") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bu05").removeCreature(variant.getCreatureByName("Titan")); aps.getLeaf("Bk04").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu12").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Bu12").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Bu12").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bu12").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bu12") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu10") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu10") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu10").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu10").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu10").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu10") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu02") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu02") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu02").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu02").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bu02").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bu02").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu04") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu04").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu04").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu04") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu07") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Bu07").removeCreature( variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Wyvern")); aps.printLeaves(); turn = 26; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Gorgon")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").revealCreatures(cnl); aps.getLeaf("Bk10") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Titan")); aps.getLeaf("Gr08").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr02").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr02").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 28; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Hydra")); aps.printLeaves(); turn = 30; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); cnl.add(variant.getCreatureByName("Unicorn")); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Guardian")); aps.getLeaf("Br07").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Br07").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 31; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk02"), turn); aps.getLeaf("Gd04").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd04").removeCreature( variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); turn = 32; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd01"), turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Br04").revealCreatures(cnl); aps.getLeaf("Br04").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Hydra")); aps.printLeaves(); turn = 34; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd02").revealCreatures(cnl); aps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd10").revealCreatures(cnl); aps.getLeaf("Gd10").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Serpent")); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk05"), turn); aps.getLeaf("Gd02") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd02") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd02") .removeCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 35; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br07"), turn); aps.getLeaf("Gd10").removeCreature(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd10").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Gd10").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd07").revealCreatures(cnl); aps.getLeaf("Bk02") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk02").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); turn = 36; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd08"), turn); aps.getLeaf("Gd11").merge(aps.getLeaf("Gd08")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 37; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br04").revealCreatures(cnl); aps.getLeaf("Br04").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 38; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br09"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br09")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 39; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br06"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br06")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Br07").revealCreatures(cnl); aps.getLeaf("Br07").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk02").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk02").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Br07").removeCreature( variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02") .addCreature(variant.getCreatureByName("Archangel")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 40; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br05"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br05")); aps.getLeaf("Bk05").split(2, new TestLegion(player, "Bk03"), turn); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br04").removeCreature( variant.getCreatureByName("Unicorn")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Ranger")); aps.printLeaves(); turn = 41; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd05").split(2, new TestLegion(player, "Gd09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Hydra")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br03"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br03")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 42; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd02"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd02")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br08"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br08")); aps.getLeaf("Bk05").split(2, new TestLegion(player, "Bk12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); aps.printLeaves(); turn = 43; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd10"), turn); aps.getLeaf("Gd11").merge(aps.getLeaf("Gd10")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br07"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br07")); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk08"), turn); aps.printLeaves(); turn = 44; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd04"), turn); aps.getLeaf("Gd11").merge(aps.getLeaf("Gd04")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br11"), turn); aps.getLeaf("Br12").merge(aps.getLeaf("Br11")); aps.getLeaf("Bk01").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bk01").removeCreature( variant.getCreatureByName("Centaur")); aps.printLeaves(); turn = 45; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd02"), turn); aps.getLeaf("Gd11").merge(aps.getLeaf("Gd02")); cnl.clear(); cnl.add(variant.getCreatureByName("Minotaur")); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br11").revealCreatures(cnl); aps.getLeaf("Br11").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Hydra")); aps.printLeaves(); turn = 46; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd11").split(2, new TestLegion(player, "Gd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Hydra")); aps.printLeaves(); turn = 47; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br06"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd11").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd11").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd11") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd11").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gd11").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Serpent")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 49; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd07")); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd07")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); aps.getLeaf("Gd09").revealCreatures(cnl); aps.getLeaf("Gd09").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Giant")); aps.printLeaves(); turn = 50; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd10"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd10")); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd11"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd11")); cnl.clear(); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Minotaur")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 51; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd07")); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk05").split(2, new TestLegion(player, "Bk07"), turn); aps.getLeaf("Gd09").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd09").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd09").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd11").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Gd11").removeCreature( variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 52; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd04"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd04")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br11").revealCreatures(cnl); aps.getLeaf("Br11").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Br11").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br11").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br11").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Br11").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk08").revealCreatures(cnl); aps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Giant")); aps.printLeaves(); turn = 53; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05").revealCreatures(cnl); aps.getLeaf("Gd05").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Guardian")); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Gd02") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd02") .removeCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Giant")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk05").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Angel")); aps.getLeaf("Gd09").revealCreatures(cnl); aps.getLeaf("Gd09").removeCreature( variant.getCreatureByName("Serpent")); aps.getLeaf("Bk05").removeCreature(variant.getCreatureByName("Giant")); aps.getLeaf("Bk05").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Bk02").removeCreature( variant.getCreatureByName("Archangel")); aps.getLeaf("Bk05") .addCreature(variant.getCreatureByName("Archangel")); aps.getLeaf("Gd09").removeCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Wyvern")); aps.printLeaves(); turn = 54; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd05").split(2, new TestLegion(player, "Gd07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Br03").revealCreatures(cnl); aps.getLeaf("Br03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk08").revealCreatures(cnl); aps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 58; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 60; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd12") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12") .removeCreature(variant.getCreatureByName("Gorgon")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd05").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd05") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd05").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd11").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Gd11").removeCreature( variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk07").revealCreatures(cnl); aps.getLeaf("Bk07").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Br03").revealCreatures(cnl); aps.getLeaf("Br03").addCreature(variant.getCreatureByName("Behemoth")); aps.printLeaves(); turn = 61; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk10").split(2, new TestLegion(player, "Bk09"), turn); aps.getLeaf("Gd07") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd07") .removeCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").revealCreatures(cnl); aps.getLeaf("Bk07").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 62; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Unicorn")); cnl.add(variant.getCreatureByName("Unicorn")); cnl.add(variant.getCreatureByName("Unicorn")); cnl.add(variant.getCreatureByName("Unicorn")); cnl.add(variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk05").removeCreature( variant.getCreatureByName("Archangel")); aps.getLeaf("Bk10") .addCreature(variant.getCreatureByName("Archangel")); aps.getLeaf("Br12").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Br12").removeCreature( variant.getCreatureByName("Unicorn")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Archangel")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10") .addCreature(variant.getCreatureByName("Archangel")); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd08") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd08") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Gd08") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); cnl.add(variant.getCreatureByName("Guardian")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Gorgon")); aps.getLeaf("Br06").revealCreatures(cnl); aps.getLeaf("Br06").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Bk03") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk03") .removeCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Br06").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Br06") .removeCreature(variant.getCreatureByName("Gorgon")); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); cnl.add(variant.getCreatureByName("Guardian")); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Bk03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk07").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Minotaur")); aps.getLeaf("Br07").revealCreatures(cnl); aps.getLeaf("Br07").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Br07").removeCreature( variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk07").revealCreatures(cnl); aps.getLeaf("Bk07").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk08").revealCreatures(cnl); aps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Wyvern")); aps.printLeaves(); turn = 63; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk02").split(2, new TestLegion(player, "Bk11"), turn); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").revealCreatures(cnl); aps.getLeaf("Bk07").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk09").revealCreatures(cnl); aps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); aps.printLeaves(); turn = 64; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd07")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Warlock")); aps.getLeaf("Br02").removeCreature( variant.getCreatureByName("Minotaur")); aps.getLeaf("Br02").removeCreature( variant.getCreatureByName("Minotaur")); aps.printLeaves(); turn = 65; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd08"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd08")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); cnl.add(variant.getCreatureByName("Behemoth")); aps.getLeaf("Br03").revealCreatures(cnl); aps.getLeaf("Br03").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br03").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk05").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br03").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Br03").removeCreature( variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 66; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").revealCreatures(cnl); aps.getLeaf("Bk07").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk08").revealCreatures(cnl); aps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 67; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk02").split(2, new TestLegion(player, "Bk01"), turn); aps.getLeaf("Gd05") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd05").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Br05").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Br05").removeCreature( variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Warbear")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Wyvern")); aps.printLeaves(); turn = 68; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Gr01"), turn); aps.getLeaf("Bk06").merge(aps.getLeaf("Gr01")); aps.printLeaves(); turn = 69; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bu09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Bk11").revealCreatures(cnl); aps.getLeaf("Bk11").addCreature(variant.getCreatureByName("Warbear")); aps.printLeaves(); turn = 70; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Gd01") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd01") .removeCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk01").revealCreatures(cnl); aps.getLeaf("Bk01").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Giant")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); aps.printLeaves(); turn = 71; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd04"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); aps.getLeaf("Bk03").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Bk03").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Bk03") .removeCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Wyvern")); aps.printLeaves(); turn = 74; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Br01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 75; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Br01").split(2, new TestLegion(player, "Br05"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd11").revealCreatures(cnl); aps.getLeaf("Gd11").addCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd11") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd11") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Gd11") .removeCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Wyvern")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 77; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd08"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 78; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").revealCreatures(cnl); aps.getLeaf("Br01").removeCreature( variant.getCreatureByName("Serpent")); aps.getLeaf("Bk07").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br01").removeCreature( variant.getCreatureByName("Serpent")); aps.getLeaf("Br01").removeCreature( variant.getCreatureByName("Serpent")); aps.getLeaf("Bk10").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Br01").removeCreature(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Archangel")); aps.getLeaf("Br01").removeCreature( variant.getCreatureByName("Serpent")); aps.getLeaf("Br05").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Br05").removeCreature( variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10") .addCreature(variant.getCreatureByName("Archangel")); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd04").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd04").removeCreature( variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 79; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk10").split(2, new TestLegion(player, "Bk03"), turn); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Guardian")); aps.getLeaf("Gd01").removeCreature( variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd08").revealCreatures(cnl); aps.getLeaf("Gd08").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 80; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk02").split(2, new TestLegion(player, "Gr11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk02").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Griffon")); cnl.clear(); cnl.add(variant.getCreatureByName("Giant")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Giant")); cnl.clear(); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 84; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk05").split(2, new TestLegion(player, "Gr06"), turn); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Gd08").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 87; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bu09").split(2, new TestLegion(player, "Br07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Guardian")); aps.getLeaf("Bk04").revealCreatures(cnl); aps.getLeaf("Bk04").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Giant")); cnl.add(variant.getCreatureByName("Giant")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Colossus")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Bk08").revealCreatures(cnl); aps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Bu09").revealCreatures(cnl); aps.getLeaf("Bu09").addCreature(variant.getCreatureByName("Guardian")); aps.printLeaves(); turn = 89; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk08").split(2, new TestLegion(player, "Gr09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Br07").revealCreatures(cnl); aps.getLeaf("Br07").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 91; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd07")); aps.getLeaf("Bk07").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").removeCreature( variant.getCreatureByName("Warbear")); aps.getLeaf("Bk07").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Bk07").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Giant")); aps.getLeaf("Bk08").revealCreatures(cnl); aps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Giant")); aps.printLeaves(); turn = 92; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd07"), turn); aps.getLeaf("Gd03").merge(aps.getLeaf("Gd07")); aps.printLeaves(); turn = 93; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Serpent")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd02").removeCreature( variant.getCreatureByName("Warlock")); aps.getLeaf("Gd02").removeCreature( variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd10").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd10").removeCreature( variant.getCreatureByName("Behemoth")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk03").removeCreature( variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").revealCreatures(cnl); aps.getLeaf("Gd06").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Colossus")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Colossus")); aps.printLeaves(); turn = 97; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd09"), turn); aps.getLeaf("Gd06").merge(aps.getLeaf("Gd09")); aps.getLeaf("Bk01") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk01") .removeCreature(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk01").removeCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); turn = 98; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd06").split(2, new TestLegion(player, "Gd02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd02").revealCreatures(cnl); aps.getLeaf("Gd02").addCreature(variant.getCreatureByName("Griffon")); aps.printLeaves(); turn = 99; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk06").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Griffon")); cnl.add(variant.getCreatureByName("Griffon")); aps.getLeaf("Gd02").revealCreatures(cnl); aps.getLeaf("Gd02").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Gd02").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Bk06").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Archangel")); aps.getLeaf("Bk06") .addCreature(variant.getCreatureByName("Archangel")); aps.getLeaf("Gd02").removeCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Archangel")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Hydra")); cnl.add(variant.getCreatureByName("Wyvern")); aps.getLeaf("Bk06").revealCreatures(cnl); aps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); aps.getLeaf("Bk02").revealCreatures(cnl); aps.getLeaf("Bk07").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Bk07").removeCreature( variant.getCreatureByName("Griffon")); aps.getLeaf("Gd06").removeCreature(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").removeCreature(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").removeCreature(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").removeCreature(variant.getCreatureByName("Hydra")); aps.getLeaf("Gd06").removeCreature(variant.getCreatureByName("Hydra")); aps.printLeaves(); turn = 105; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk05").split(2, new TestLegion(player, "Bk03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Colossus")); aps.getLeaf("Bk05").revealCreatures(cnl); aps.getLeaf("Bk05").addCreature(variant.getCreatureByName("Colossus")); cnl.clear(); cnl.add(variant.getCreatureByName("Warlock")); aps.getLeaf("Bk09").revealCreatures(cnl); aps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Gd03").revealCreatures(cnl); aps.getLeaf("Gd03").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Warbear")); cnl.add(variant.getCreatureByName("Warbear")); aps.getLeaf("Gr09").revealCreatures(cnl); aps.getLeaf("Gr09").addCreature(variant.getCreatureByName("Giant")); aps.printLeaves(); turn = 107; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gd03").split(2, new TestLegion(player, "Gd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Behemoth")); aps.getLeaf("Gd12").removeCreature( variant.getCreatureByName("Warlock")); aps.printLeaves(); } public void testPredictSplits10() { LOGGER.log(Level.FINEST, "testPredictSplits10()"); ps = new PredictSplits("Bk06", cnl, variant); ps.printLeaves(); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Bk06").split(4, new TestLegion(player, "Bk09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Ogre")); assertFalse(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Bk06").revealCreatures(cnl); ps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Cyclops")); assertFalse(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Bk09").split(2, new TestLegion(player, "Bk10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); ps.getLeaf("Bk06").revealCreatures(cnl); ps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Warlock")); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Ogre")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); assertFalse(ps.getLeaf("Bk10").allCertain()); ps.printLeaves(); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Bk06").revealCreatures(cnl); ps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Cyclops")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); assertFalse(ps.getLeaf("Bk10").allCertain()); ps.printLeaves(); ps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk10").removeCreature( variant.getCreatureByName("Gargoyle")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertTrue(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); } public void testPredictSplits11() { LOGGER.log(Level.FINEST, "testPredictSplits11()"); ps = new PredictSplits("Bk06", cnl, variant); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Bk06").split(4, new TestLegion(player, "Bk09"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Bk06").revealCreatures(cnl); ps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Lion")); assertEquals(ps.getLeaf("Bk06").numUncertainCreatures(), 1); assertEquals(ps.getLeaf("Bk09").numUncertainCreatures(), 1); ps.printLeaves(); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps.getLeaf("Bk06").revealCreatures(cnl); ps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Lion")); assertFalse(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk06").revealCreatures(cnl); ps.getLeaf("Bk06").addCreature(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Centaur")); assertFalse(ps.getLeaf("Bk06").allCertain()); assertFalse(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Bk06").split(2, new TestLegion(player, "Bk08"), turn); ps.getLeaf("Bk09").split(2, new TestLegion(player, "Bk11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); ps.getLeaf("Bk09").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk08").revealCreatures(cnl); ps.getLeaf("Bk08").removeCreature( variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk09").removeCreature(variant.getCreatureByName("Angel")); ps.getLeaf("Bk08").addCreature(variant.getCreatureByName("Angel")); ps.getLeaf("Bk08").removeCreature( variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk08").removeCreature(variant.getCreatureByName("Angel")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); ps.getLeaf("Bk11").revealCreatures(cnl); ps.getLeaf("Bk11").addCreature(variant.getCreatureByName("Lion")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertTrue(ps.getLeaf("Bk09").allCertain()); assertTrue(ps.getLeaf("Bk11").allCertain()); ps.printLeaves(); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Guardian")); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Bk11").revealCreatures(cnl); ps.getLeaf("Bk11").addCreature(variant.getCreatureByName("Lion")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertTrue(ps.getLeaf("Bk09").allCertain()); assertTrue(ps.getLeaf("Bk11").allCertain()); ps.printLeaves(); turn = 7; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Lion")); ps.getLeaf("Bk09").revealCreatures(cnl); ps.getLeaf("Bk09").addCreature(variant.getCreatureByName("Griffon")); ps.getLeaf("Bk11").removeCreature(variant.getCreatureByName("Lion")); ps.getLeaf("Bk11").removeCreature(variant.getCreatureByName("Lion")); ps.getLeaf("Bk11") .removeCreature(variant.getCreatureByName("Centaur")); ps.getLeaf("Bk11") .removeCreature(variant.getCreatureByName("Centaur")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertTrue(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); turn = 8; LOGGER.log(Level.FINEST, "Turn " + turn); ps.getLeaf("Bk09").split(2, new TestLegion(player, "Bk12"), turn); ps.getLeaf("Bk12").removeCreature( variant.getCreatureByName("Gargoyle")); ps.getLeaf("Bk12") .removeCreature(variant.getCreatureByName("Centaur")); assertTrue(ps.getLeaf("Bk06").allCertain()); assertTrue(ps.getLeaf("Bk09").allCertain()); ps.printLeaves(); } public void testPredictSplits12() { aps.printLeaves(); turn = 1; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps = new PredictSplits("Gr07", cnl, variant); aps.add(ps); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr07").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps = new PredictSplits("Bu08", cnl, variant); aps.add(ps); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu08").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps = new PredictSplits("Gd01", cnl, variant); aps.add(ps); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps = new PredictSplits("Bk10", cnl, variant); aps.add(ps); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk10").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps = new PredictSplits("Br12", cnl, variant); aps.add(ps); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br12").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); ps = new PredictSplits("Rd12", cnl, variant); aps.add(ps); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd12").revealCreatures(cnl); aps.getLeaf("Gr07").split(4, new TestLegion(player, "Gr12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bu08").split(4, new TestLegion(player, "Bu12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu08").revealCreatures(cnl); aps.getLeaf("Bu08").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd01").split(4, new TestLegion(player, "Gd12"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk10").split(4, new TestLegion(player, "Bk03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Bk03").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Centaur")); aps.getLeaf("Br12").split(4, new TestLegion(player, "Br07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Br07").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Br07").revealCreatures(cnl); aps.getLeaf("Br07").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd12").split(4, new TestLegion(player, "Rd03"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd12").revealCreatures(cnl); aps.getLeaf("Rd12").addCreature(variant.getCreatureByName("Gargoyle")); aps.printLeaves(); assertEquals(aps.getLeaf("Bk03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br07").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu08").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu12").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd01").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gr07").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Rd03").numUncertainCreatures(), 4); assertEquals(aps.getLeaf("Rd12").numUncertainCreatures(), 3); turn = 2; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Lion")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); aps.getLeaf("Rd12").revealCreatures(cnl); aps.getLeaf("Rd12").addCreature(variant.getCreatureByName("Warlock")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd03").revealCreatures(cnl); aps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); assertEquals(aps.getLeaf("Bk03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Bu08").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu12").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd01").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr07").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Rd03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Rd12").numUncertainCreatures(), 1); turn = 3; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu08").revealCreatures(cnl); aps.getLeaf("Bu08").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd03").revealCreatures(cnl); aps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Rd12").revealCreatures(cnl); aps.getLeaf("Rd12").addCreature(variant.getCreatureByName("Lion")); aps.printLeaves(); assertEquals(aps.getLeaf("Bk03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Bu08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bu12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd01").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr07").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Rd03").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Rd12").numUncertainCreatures(), 0); turn = 4; LOGGER.log(Level.FINEST, "Turn " + turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu08").revealCreatures(cnl); aps.getLeaf("Bu08").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd01").split(2, new TestLegion(player, "Gd07"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gd01").revealCreatures(cnl); aps.getLeaf("Gd01").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Gd12").revealCreatures(cnl); aps.getLeaf("Gd12").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Cyclops")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Cyclops")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk10").revealCreatures(cnl); aps.getLeaf("Bk10").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Rd03").revealCreatures(cnl); aps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); assertEquals(aps.getLeaf("Bk03").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Br07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Bu08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bu12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd01").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gd07").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr07").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Rd03").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Rd12").numUncertainCreatures(), 0); turn = 5; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Gr07").split(2, new TestLegion(player, "Gr05"), turn); aps.getLeaf("Gr12").split(2, new TestLegion(player, "Gr10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").revealCreatures(cnl); aps.getLeaf("Gr05").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Ranger")); aps.getLeaf("Bu08").split(2, new TestLegion(player, "Bu02"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bu08").revealCreatures(cnl); aps.getLeaf("Bu08").addCreature(variant.getCreatureByName("Minotaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd12").split(2, new TestLegion(player, "Gd11"), turn); aps.getLeaf("Gd12").merge(aps.getLeaf("Gd11")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd07").revealCreatures(cnl); aps.getLeaf("Gd07").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bk03").split(2, new TestLegion(player, "Bk04"), turn); aps.getLeaf("Bk10").split(2, new TestLegion(player, "Bk07"), turn); aps.getLeaf("Bk10").merge(aps.getLeaf("Bk07")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Bk03").revealCreatures(cnl); aps.getLeaf("Bk03").addCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Br12").split(2, new TestLegion(player, "Br10"), turn); aps.getLeaf("Gr10").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gr10").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br07").revealCreatures(cnl); aps.getLeaf("Br07").addCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Br12").revealCreatures(cnl); aps.getLeaf("Br12").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Rd03").split(2, new TestLegion(player, "Rd04"), turn); aps.getLeaf("Rd12").split(2, new TestLegion(player, "Rd10"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd12").revealCreatures(cnl); aps.getLeaf("Rd12").addCreature(variant.getCreatureByName("Cyclops")); aps.printLeaves(); assertEquals(aps.getLeaf("Bk03").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Bk04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Br07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Br10").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 4); assertEquals(aps.getLeaf("Bu02").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu08").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bu12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd01").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gd07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr05").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Gr07").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Rd03").numUncertainCreatures(), 5); assertEquals(aps.getLeaf("Rd04").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Rd10").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Rd12").numUncertainCreatures(), 3); turn = 6; LOGGER.log(Level.FINEST, "Turn " + turn); aps.getLeaf("Bk04").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Bk04").removeCreature( variant.getCreatureByName("Gargoyle")); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Rd10").revealCreatures(cnl); aps.getLeaf("Rd10").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gr07").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gr05").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Rd10").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gr05").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gr05").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Ranger")); aps.getLeaf("Gr07").revealCreatures(cnl); aps.getLeaf("Gr07").addCreature(variant.getCreatureByName("Ranger")); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gr12").revealCreatures(cnl); aps.getLeaf("Gr12").addCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Bu12").split(2, new TestLegion(player, "Bu11"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu12").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Lion")); cnl.add(variant.getCreatureByName("Centaur")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd07").revealCreatures(cnl); aps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bu12").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Bu08").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Bu12").removeCreature( variant.getCreatureByName("Centaur")); aps.getLeaf("Gd07").removeCreature(variant.getCreatureByName("Lion")); aps.getLeaf("Gd07").removeCreature( variant.getCreatureByName("Centaur")); cnl.clear(); cnl.add(variant.getCreatureByName("Titan")); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Cyclops")); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu12").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Centaur")); aps.getLeaf("Bu12").revealCreatures(cnl); aps.getLeaf("Bu12").addCreature(variant.getCreatureByName("Centaur")); aps.getLeaf("Gd12").split(2, new TestLegion(player, "Gd11"), turn); aps.getLeaf("Gd12").merge(aps.getLeaf("Gd11")); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Gd01").revealCreatures(cnl); cnl.clear(); cnl.add(variant.getCreatureByName("Angel")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Gargoyle")); cnl.add(variant.getCreatureByName("Gargoyle")); aps.getLeaf("Rd03").revealCreatures(cnl); aps.getLeaf("Rd03").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gd01").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Rd03").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gd01").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd03").removeCreature( variant.getCreatureByName("Gargoyle")); aps.getLeaf("Gd01").removeCreature(variant.getCreatureByName("Troll")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Rd03").revealCreatures(cnl); aps.getLeaf("Rd03").addCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gd01").removeCreature(variant.getCreatureByName("Troll")); aps.getLeaf("Gd01").removeCreature(variant.getCreatureByName("Ogre")); aps.getLeaf("Rd03").removeCreature(variant.getCreatureByName("Angel")); aps.getLeaf("Gd01").removeCreature(variant.getCreatureByName("Ogre")); cnl.clear(); cnl.add(variant.getCreatureByName("Troll")); cnl.add(variant.getCreatureByName("Troll")); aps.getLeaf("Rd03").revealCreatures(cnl); aps.getLeaf("Bk10").split(2, new TestLegion(player, "Bk01"), turn); cnl.clear(); cnl.add(variant.getCreatureByName("Ogre")); cnl.add(variant.getCreatureByName("Ogre")); aps.getLeaf("Br07").revealCreatures(cnl); aps.getLeaf("Br07").addCreature(variant.getCreatureByName("Troll")); aps.printLeaves(); assertEquals(aps.getLeaf("Bk01").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Bk03").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Bk10").numUncertainCreatures(), 3); assertEquals(aps.getLeaf("Br07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Br10").numUncertainCreatures(), 2); assertEquals(aps.getLeaf("Br12").numUncertainCreatures(), 4); assertEquals(aps.getLeaf("Bu02").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bu08").numUncertainCreatures(), 1); assertEquals(aps.getLeaf("Bu11").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Bu12").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gd12").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gr05").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gr07").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Gr12").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Rd03").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Rd04").numUncertainCreatures(), 0); assertEquals(aps.getLeaf("Rd12").numUncertainCreatures(), 0); LOGGER.log(Level.FINEST, "\ntest %s ends"); } }