mirror of
https://github.com/magefree/mage.git
synced 2025-12-30 07:22:03 -08:00
fixed the LastTimeCounterRemovedCondition, moved the Chronozoa test to fit the package convention, added a test case
This commit is contained in:
parent
15e3101bf4
commit
9b44c9a087
4 changed files with 91 additions and 20 deletions
|
|
@ -1,17 +0,0 @@
|
|||
package mage.sets.planarchaos;
|
||||
|
||||
import mage.abilities.condition.common.LastTimeCounterRemovedCondition;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class ChronozoaTest {
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
final Chronozoa chronozoa = new Chronozoa(UUID.randomUUID());
|
||||
|
||||
final LastTimeCounterRemovedCondition cond = new LastTimeCounterRemovedCondition();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
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.Counter;
|
||||
import mage.counters.CounterType;
|
||||
import mage.counters.Counters;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.PermanentToken;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
/**
|
||||
* Created by glerman on 22/6/15.
|
||||
*/
|
||||
public class ChronozoaTest extends CardTestPlayerBase {
|
||||
|
||||
/**
|
||||
* Test that time counters are removed before the draw phase
|
||||
*/
|
||||
@Test
|
||||
public void testVanishing() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
|
||||
// Flying
|
||||
// Vanishing 3
|
||||
// When Chronozoa dies, if it had no time counters on it, put two tokens that are copies of it onto the battlefield.
|
||||
addCard(Zone.HAND, playerA, "Chronozoa");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chronozoa");
|
||||
|
||||
setStopAt(5, PhaseStep.DRAW);
|
||||
execute();
|
||||
|
||||
// Make sure one time counter was removed at beginning of playerA turn num 3
|
||||
assertCounterCount("Chronozoa", CounterType.TIME, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the tokens are put to battlefield if the last time counter is removed
|
||||
*/
|
||||
@Test
|
||||
public void testDuplicationEffect() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Island", 4);
|
||||
// Flying
|
||||
// Vanishing 3
|
||||
// When Chronozoa dies, if it had no time counters on it, put two tokens that are copies of it onto the battlefield.
|
||||
addCard(Zone.HAND, playerA, "Chronozoa");
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Chronozoa");
|
||||
|
||||
setStopAt(9, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
// The original Chronozoa card should be in graveyard
|
||||
assertGraveyardCount(playerA, 1);
|
||||
|
||||
final List<Permanent> creatures = currentGame.getBattlefield().getAllActivePermanents(CardType.CREATURE);
|
||||
Assert.assertEquals(2, creatures.size());
|
||||
|
||||
for (final Permanent creature : creatures) {
|
||||
// Make sure the creatures are Chronozoa tokens
|
||||
Assert.assertEquals("Chronozoa", creature.getName());
|
||||
Assert.assertEquals("Chronozoa has to be a token", true, creature instanceof PermanentToken);
|
||||
|
||||
// Make sure each token has 2 time counters
|
||||
final Counters counters = creature.getCounters();
|
||||
Assert.assertEquals(1, counters.size());
|
||||
for(final Counter counter : counters.values()) {
|
||||
Assert.assertEquals(CounterType.TIME.getName(), counter.getName());
|
||||
Assert.assertEquals(2, counter.getCount());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue