package org.mage.test.cards.single.soi;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* Defender
*
* Thing in the Ice enters the battlefield with four ice counters on it.
*
* Whenever you cast an instant or sorcery spell, remove an ice counter from
* Thing in the Ice. Then if it has no ice counters on it, transform it. When
* this creature transforms into Awoken Horror, return all non-Horror creatures
* to their owners' hands.
*
* @author escplan9 (Derek Monturo - dmontur1 at gmail dot com)
*/
public class ThingInTheIceTest extends CardTestPlayerBase {
/**
* Reported bug: When Thing in the Ice transforms, it bounces Clue tokens.
*
*/
@Test
public void testClueTokens() {
// Whenever a land enters the battlefield under your control, investigate. <i>(Create a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.")</i>
// Whenever you sacrifice a Clue, put a +1/+1 counter on Tireless Tracker.
addCard(Zone.BATTLEFIELD, playerA, "Tireless Tracker", 1); // Human, Scout 3/2
addCard(Zone.HAND, playerA, "Forest", 1);
// Defender
// Thing in the Ice enters the battlefield with four ice counters on it.
// Whenever you cast an instant or sorcery spell, remove an ice counter from Thing in the Ice. Then if it has no ice counters on it, transform it.
// When this creature transforms into Awoken Horrow, return all non-Horror creatures to their owners' hands.
addCard(Zone.BATTLEFIELD, playerB, "Thing in the Ice", 1);
// Target creature gains haste until end of turn.
// Draw a card.
addCard(Zone.HAND, playerB, "Expedite", 4);
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 4);
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Forest"); // creates a clue
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Expedite");
addTarget(playerB, "Thing in the Ice");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Expedite");
addTarget(playerB, "Thing in the Ice");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Expedite");
addTarget(playerB, "Thing in the Ice");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Expedite");
addTarget(playerB, "Thing in the Ice"); // remove all 4 ice counters to transform it
setStopAt(2, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, "Clue", 1);
assertHandCount(playerA, "Tireless Tracker", 1); // returned to hand
assertPermanentCount(playerA, "Tireless Tracker", 0);
assertPermanentCount(playerB, "Awoken Horror", 1); // transformed
assertGraveyardCount(playerB, "Expedite", 4);
}
}