mirror of
https://github.com/magefree/mage.git
synced 2026-01-18 17:29:58 -08:00
[10E, USG] Added No Rest for the Wicked
and test
This commit is contained in:
parent
fce9f8a1a7
commit
ab773ab509
3 changed files with 324 additions and 0 deletions
|
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
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 anonymous
|
||||
*/
|
||||
public class NoRestForTheWickedTest extends CardTestPlayerBase {
|
||||
|
||||
/**
|
||||
* Checks that all playerA creatures are back to playerA's hand
|
||||
*/
|
||||
//@Test
|
||||
public void testSacrifice() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
||||
addCard(Zone.HAND, playerA, "No Rest for the Wicked");
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Memnite");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Royal Assassin");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Sengir Vampire");
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Island");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Flowering Lumberknot");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Moorland Inquisitor");
|
||||
|
||||
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "No Rest for the Wicked");
|
||||
|
||||
attack(3, playerA, "Memnite");
|
||||
attack(3, playerA, "Royal Assassin");
|
||||
attack(3, playerA, "Sengin Vampire");
|
||||
block(3, playerB, "Moorland Inquisitor", "Memnite");
|
||||
|
||||
activateAbility(3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sacrifice {this}: Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn.");
|
||||
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, 1); //No Rest only
|
||||
assertGraveyardCount(playerA, "No Rest for the Wicked", 1);
|
||||
assertGraveyardCount(playerA, "Memnite", 0);
|
||||
assertHandCount(playerA, "Memnite", 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that all playerA creatures sacrificed prior to playing
|
||||
* No Rest for the Wicked are back to playerA's hand
|
||||
*/
|
||||
//@Test
|
||||
public void testSacrificeAfterDying() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
||||
addCard(Zone.HAND, playerA, "No Rest for the Wicked");
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Memnite");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Royal Assassin");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Sengir Vampire");
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Island");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Flowering Lumberknot");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Moorland Inquisitor");
|
||||
|
||||
attack(3, playerA, "Memnite");
|
||||
attack(3, playerA, "Royal Assassin");
|
||||
attack(3, playerA, "Sengin Vampire");
|
||||
block(3, playerB, "Moorland Inquisitor", "Memnite");
|
||||
|
||||
castSpell(3, PhaseStep.POSTCOMBAT_MAIN, playerA, "No Rest for the Wicked");
|
||||
|
||||
activateAbility(3, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sacrifice {this}: Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn.");
|
||||
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
assertPermanentCount(playerA, "No Rest for the Wicked", 0);
|
||||
assertGraveyardCount(playerA, 1); //No Rest only
|
||||
assertGraveyardCount(playerA, "No Rest for the Wicked", 1);
|
||||
assertGraveyardCount(playerA, "Memnite", 0);
|
||||
assertHandCount(playerA, "Memnite", 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Take ownership of a creature from playerB and destroy it.
|
||||
* Checks that after sacrificing No Rest for the Wicked it is on playerB's
|
||||
* graveyard, and that it's not on either player's hand.
|
||||
* 400.3
|
||||
*/
|
||||
@Test
|
||||
public void testTakeControlThenSacrifice() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 7);
|
||||
addCard(Zone.HAND, playerA, "No Rest for the Wicked");
|
||||
addCard(Zone.HAND, playerA, "Beacon of Unrest");
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Moorland Inquisitor");
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Moorland Inquisitor");
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Memnite");
|
||||
|
||||
castSpell(3, PhaseStep.POSTCOMBAT_MAIN, playerA, "No Rest for the Wicked");
|
||||
|
||||
attack(4, playerB, "Memnite");
|
||||
block(4, playerA, "Moorland Inquisitor", "Memnite");
|
||||
|
||||
castSpell(5, PhaseStep.POSTCOMBAT_MAIN, playerA, "Beacon of Unrest", "Memnite");
|
||||
|
||||
attack(7, playerA, "Memnite");
|
||||
block(7, playerB, "Moorland Inquisitor", "Memnite");
|
||||
activateAbility(7, PhaseStep.POSTCOMBAT_MAIN, playerA, "Sacrifice {this}: Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn.");
|
||||
|
||||
setStopAt(7, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerB, "Memnite", 1);
|
||||
assertHandCount(playerB, "Memnite", 0);
|
||||
|
||||
assertPermanentCount(playerA, "No Rest for the Wicked", 0);
|
||||
assertGraveyardCount(playerA, 1); //No Rest only
|
||||
assertGraveyardCount(playerA, "No Rest for the Wicked", 1);
|
||||
assertGraveyardCount(playerA, "Memnite", 0);
|
||||
assertHandCount(playerA, "Memnite", 0);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue