mirror of
https://github.com/magefree/mage.git
synced 2025-12-29 23:12:10 -08:00
[WHO] Implement Barbara Wright (#13602)
* [WHO] Implement Barbara Wright * add test * add more tests * update reminder text
This commit is contained in:
parent
daf390d632
commit
5a7d6805e0
6 changed files with 231 additions and 37 deletions
|
|
@ -1,7 +1,9 @@
|
|||
package org.mage.test.cards.enchantments;
|
||||
|
||||
import mage.abilities.keyword.ReadAheadAbility;
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
|
|
@ -69,4 +71,78 @@ public class ReadAheadTest extends CardTestPlayerBase {
|
|||
assertPermanentCount(playerA, war, 0);
|
||||
assertGraveyardCount(playerA, war, 1);
|
||||
}
|
||||
|
||||
private static final String rite = "Rite of Belzenlok";
|
||||
private static final String babs = "Barbara Wright";
|
||||
|
||||
@Test
|
||||
public void testBarbaraWrightChapter1() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
||||
addCard(Zone.BATTLEFIELD, playerA, babs);
|
||||
addCard(Zone.HAND, playerA, rite);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, rite);
|
||||
setChoice(playerA, "X=1");
|
||||
|
||||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
assertCounterCount(rite, CounterType.LORE, 1);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2);
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
assertCounterCount(rite, CounterType.LORE, 2);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
|
||||
setStopAt(5, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, rite, 1);
|
||||
assertPermanentCount(playerA, rite, 0);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
assertPermanentCount(playerA, "Demon Token", 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBarbaraWrightChapter2() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
||||
addCard(Zone.BATTLEFIELD, playerA, babs);
|
||||
addCard(Zone.HAND, playerA, rite);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, rite);
|
||||
setChoice(playerA, "X=2");
|
||||
|
||||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
assertCounterCount(rite, CounterType.LORE, 2);
|
||||
assertAbility(playerA, rite, ReadAheadAbility.getInstance(), true);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2);
|
||||
|
||||
setStopAt(3, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, rite, 1);
|
||||
assertPermanentCount(playerA, rite, 0);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2);
|
||||
assertPermanentCount(playerA, "Demon Token", 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBarbaraWrightChapter3() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 4);
|
||||
addCard(Zone.BATTLEFIELD, playerA, babs);
|
||||
addCard(Zone.HAND, playerA, rite);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, rite);
|
||||
setChoice(playerA, "X=3");
|
||||
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, rite, 1);
|
||||
assertPermanentCount(playerA, rite, 0);
|
||||
assertPermanentCount(playerA, "Cleric Token", 0);
|
||||
assertPermanentCount(playerA, "Demon Token", 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,14 +35,14 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
assertCounterCount(rite, CounterType.LORE, 2);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
|
||||
setStopAt(5, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, rite, 1);
|
||||
assertPermanentCount(playerA, rite, 0);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
assertPermanentCount(playerA, "Demon Token", 1);
|
||||
}
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
assertCounterCount(rite, CounterType.LORE, 2);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
|
||||
castSpell(3, PhaseStep.POSTCOMBAT_MAIN, playerA, flicker, rite);
|
||||
setStopAt(3, PhaseStep.END_TURN);
|
||||
|
|
@ -73,7 +73,7 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
assertGraveyardCount(playerA, rite, 0);
|
||||
assertPermanentCount(playerA, rite, 1);
|
||||
assertCounterCount(playerA, rite, CounterType.LORE, 1);
|
||||
assertPermanentCount(playerA, "Cleric Token", 6);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2 + 2);
|
||||
assertPermanentCount(playerA, "Demon Token", 0);
|
||||
}
|
||||
|
||||
|
|
@ -95,7 +95,7 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
assertCounterCount(rite, CounterType.LORE, 2);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
|
||||
castSpell(5, PhaseStep.PRECOMBAT_MAIN, playerA, boomerang, rite);
|
||||
setStopAt(5, PhaseStep.BEGIN_COMBAT);
|
||||
|
|
@ -104,7 +104,7 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
assertHandCount(playerA, rite, 1);
|
||||
assertPermanentCount(playerA, rite, 0);
|
||||
assertGraveyardCount(playerA, boomerang, 1);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
assertPermanentCount(playerA, "Demon Token", 1);
|
||||
}
|
||||
|
||||
|
|
@ -119,14 +119,14 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
assertCounterCount(rite, CounterType.LORE, 2);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
|
||||
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, rite, 1);
|
||||
assertPermanentCount(playerA, rite, 0);
|
||||
assertPermanentCount(playerA, "Cleric Token", 4);
|
||||
assertPermanentCount(playerA, "Cleric Token", 2 + 2);
|
||||
assertPermanentCount(playerA, "Demon Token", 1);
|
||||
}
|
||||
|
||||
|
|
@ -220,14 +220,14 @@ public class SagaTest extends CardTestPlayerBase {
|
|||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, triumph);
|
||||
|
||||
addTarget(playerA, memnite);
|
||||
checkPT("+1/+0", 1, PhaseStep.BEGIN_COMBAT, playerA, memnite, 2, 1);
|
||||
checkPT("+1/+0", 1, PhaseStep.BEGIN_COMBAT, playerA, memnite, 1 + 1, 1);
|
||||
checkPT("next turn", 2, PhaseStep.BEGIN_COMBAT, playerA, memnite, 1, 1);
|
||||
|
||||
addTarget(playerA, memnite);
|
||||
checkPT("+2/+0", 3, PhaseStep.BEGIN_COMBAT, playerA, memnite, 3, 1);
|
||||
checkPT("+2/+0", 3, PhaseStep.BEGIN_COMBAT, playerA, memnite, 1 + 1 + 1, 1);
|
||||
|
||||
addTarget(playerA, memnite);
|
||||
checkPT("+3/+0", 5, PhaseStep.BEGIN_COMBAT, playerA, memnite, 4, 1);
|
||||
checkPT("+3/+0", 5, PhaseStep.BEGIN_COMBAT, playerA, memnite, 1 + 1 + 1 + 1, 1);
|
||||
|
||||
addTarget(playerA, memnite);
|
||||
addTarget(playerA, kraken);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue