package org.mage.test.cards.single; import java.util.List; import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.Permanent; import org.junit.Assert; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * Created by glerman on 29/6/15. */ public class DustOfMomentsTest extends CardTestPlayerBase { @Test public void testRemoveCounters() throws Exception { initGame(); setModeChoice(playerA, "1"); // Chose the remove 2 time counters option setStopAt(3, PhaseStep.END_TURN); execute(); // Chronozoa should have duplicated final List<Permanent> activeCreatures = currentGame.getBattlefield().getAllActivePermanents(CardType.CREATURE); Assert.assertEquals(2, activeCreatures.size()); for (final Permanent creature : activeCreatures) { Assert.assertEquals("Chronozoa", creature.getName()); Assert.assertEquals(3, creature.getCounters(currentGame).getCount(CounterType.TIME)); } // Check time counters on kraken assertCounterOnExiledCardCount("Deep-Sea Kraken", CounterType.TIME, 6); } @Test public void testAddCounters() throws Exception { initGame(); setModeChoice(playerA, "2"); // Chose the add 2 time counters option setStopAt(3, PhaseStep.END_TURN); execute(); assertCounterCount("Chronozoa", CounterType.TIME, 4); assertCounterOnExiledCardCount("Deep-Sea Kraken", CounterType.TIME, 10); } private void initGame() { addCard(Zone.BATTLEFIELD, playerA, "Island", 7); addCard(Zone.BATTLEFIELD, playerA, "Plains", 1); addCard(Zone.HAND, playerA, "Chronozoa"); addCard(Zone.HAND, playerA, "Deep-Sea Kraken"); addCard(Zone.HAND, playerA, "Dust of Moments"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chronozoa"); activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Suspend"); // Casts Deep-Sea Kraken as Suspend castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Dust of Moments"); } }