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");
}
}