package org.mage.test.cards.single;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
*
* @author jeffwadsworth
*/
public class ArrogantBloodlordTest extends CardTestPlayerBase {
// blocked trigger
@Test
public void testCardBlocked() {
// Arrogant Bloodlord
// 4/4
// Whenever Arrogant Bloodlord blocks or becomes blocked by a creature with power 1 or less,
// destroy Arrogant Bloodlord at end of combat.
addCard(Zone.BATTLEFIELD, playerA, "Arrogant Bloodlord");
// Wall of Air
// 1/5
// Defender, flying
addCard(Zone.BATTLEFIELD, playerB, "Wall of Air");
attack(1, playerA, "Arrogant Bloodlord");
block(1, playerB, "Wall of Air", "Arrogant Bloodlord");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 20);
assertLife(playerB, 20);
assertPermanentCount(playerA, "Arrogant Bloodlord", 0);
assertPermanentCount(playerB, "Wall of Air", 1);
}
// blocks trigger
@Test
public void testCardBlocker() {
addCard(Zone.BATTLEFIELD, playerA, "Caravan Hurda");
addCard(Zone.BATTLEFIELD, playerB, "Arrogant Bloodlord");
attack(1, playerA, "Caravan Hurda");
block(1, playerB, "Arrogant Bloodlord", "Caravan Hurda");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 21);
assertLife(playerB, 20);
assertPermanentCount(playerA, "Caravan Hurda", 1);
assertPermanentCount(playerB, "Arrogant Bloodlord", 0);
}
// blocked no trigger
@Test
public void testCardBlockedNonTrigger() {
addCard(Zone.BATTLEFIELD, playerA, "Arrogant Bloodlord");
addCard(Zone.BATTLEFIELD, playerB, "Grizzly Bears");
attack(1, playerA, "Arrogant Bloodlord");
block(1, playerB, "Grizzly Bears", "Arrogant Bloodlord");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 20);
assertLife(playerB, 20);
assertPermanentCount(playerA, "Arrogant Bloodlord", 1);
assertPermanentCount(playerB, "Grizzly Bears", 0);
}
// blocks no trigger
@Test
public void testCardBlocksNonTrigger() {
addCard(Zone.BATTLEFIELD, playerA, "Acid Web Spider");
addCard(Zone.BATTLEFIELD, playerB, "Arrogant Bloodlord");
attack(1, playerA, "Acid Web Spider");
block(1, playerB, "Arrogant Bloodlord", "Acid Web Spider");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 20);
assertLife(playerB, 20);
assertPermanentCount(playerA, "Acid Web Spider", 1);
assertPermanentCount(playerB, "Arrogant Bloodlord", 1);
}
}