refactored exiletokensAtEndStep

This commit is contained in:
drmDev 2017-03-19 17:54:07 -04:00
parent dcd5c76bad
commit 311e41abd2
3 changed files with 66 additions and 13 deletions

View file

@ -46,4 +46,54 @@ public class LightningCoilsTest extends CardTestPlayerBase {
assertCounterCount(playerA, lCoils, CounterType.CHARGE, 0);
assertPermanentCount(playerA, "Elemental", gnomeCount);
}
@Test
public void sacrificeSixCreaturesProducesSixElementalsExiledAtEnd() {
/*
Lightning Coils {3}
Artifact
Whenever a nontoken creature you control dies, put a charge counter on Lightning Coils.
At the beginning of your upkeep, if Lightning Coils has five or more charge counters on it, remove all of them from it
and create that many 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.
*/
String lCoils = "Lightning Coils";
/*
Bottle Gnomes {3}
Artifact Creature Gnome
Sacrifice Bottle Gnomes: You gain 3 life.
*/
String bGnomes = "Bottle Gnomes";
/*
Grand Melee {3}{R}
Enchantment
All creatures attack each turn if able.
All creatures block each turn if able.
*/
String gMelee = "Grand Melee";
int tokenCount = 5;
addCard(Zone.BATTLEFIELD, playerA, lCoils);
addCard(Zone.BATTLEFIELD, playerA, bGnomes, tokenCount);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
addCard(Zone.HAND, playerA, gMelee);
for (int i = 0; i < tokenCount; i++) // sac Gnomes 5 times
activateAbility(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sacrifice");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, gMelee);
setStopAt(3, PhaseStep.CLEANUP);
execute();
assertPermanentCount(playerA, gMelee, 1);
assertGraveyardCount(playerA, bGnomes, tokenCount);
assertPermanentCount(playerA, lCoils, 1);
assertCounterCount(playerA, lCoils, CounterType.CHARGE, 0);
assertPermanentCount(playerA, "Elemental", 0);
int remainingLife = 20 - (tokenCount * 3); // each elemental does 3 damage
assertLife(playerB, remainingLife);
}
}