package org.mage.test.cards.abilities.keywords;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author noxx
*/
public class AffinityForArtifactsTest extends CardTestPlayerBase {
@Test
public void testCastForCheaperCost() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
// Myr Enforcer Artifact Creature — Myr {7}
// Affinity for artifacts (This spell costs {1} less to cast for each artifact you control.)
addCard(Zone.HAND, playerA, "Myr Enforcer");
addCard(Zone.BATTLEFIELD, playerA, "Myr Enforcer", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Myr Enforcer");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, "Myr Enforcer", 4);
}
/**
* Tests that cost wasn't reduced too much. 3 Mountains is not enough to cast Myr Enforcer.
*/
@Test
public void testCorrectCostReduction() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
addCard(Zone.HAND, playerA, "Myr Enforcer");
addCard(Zone.BATTLEFIELD, playerA, "Myr Enforcer", 3);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Myr Enforcer");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, "Myr Enforcer", 3);
}
}