From bf8b0f81ca0cda9a0e7b37d14ed310a6f7a08c34 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 23 Aug 2014 17:58:36 +0200 Subject: [PATCH] Some changes to test. --- .../abilities/keywords/BattleCryTest.java | 3 +- .../ZoneChangeReplacementTest.java | 97 ++++++++++++++++++- 2 files changed, 95 insertions(+), 5 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java index abc39793990..1c354c33174 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/BattleCryTest.java @@ -30,6 +30,7 @@ package org.mage.test.cards.abilities.keywords; import mage.constants.PhaseStep; import mage.constants.Zone; +import mage.filter.Filter; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; @@ -64,7 +65,7 @@ public class BattleCryTest extends CardTestPlayerBase { execute(); assertPermanentCount(playerB, "Signal Pest", 3); - assertPowerToughness(playerB, "Signal Pest", 2,1); // two other Signal Pest atack, so it get +2 power + assertPowerToughness(playerB, "Signal Pest", 2,1, Filter.ComparisonScope.All); // two other Signal Pest atack, so it get +2 power } /** diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/ZoneChangeReplacementTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/ZoneChangeReplacementTest.java index 54aaedeabb5..e34a00e85c7 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/ZoneChangeReplacementTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/ZoneChangeReplacementTest.java @@ -187,14 +187,103 @@ public class ZoneChangeReplacementTest extends CardTestPlayerBase { assertLife(playerA, 20); assertLife(playerB, 20); - + + assertGraveyardCount(playerA, "Aggressive Urge", 1); assertPermanentCount(playerA, "Kumano's Pupils", 1); - assertPermanentCount(playerA, "Silvercoat Lion", 0); + assertPowerToughness(playerA, "Kumano's Pupils", 2, 2); + assertPermanentCount(playerB, "Silvercoat Lion", 0); assertExileCount("Silvercoat Lion", 0); - assertGraveyardCount(playerA, "Silvercoat Lion", 1); + assertGraveyardCount(playerB, "Silvercoat Lion", 1); } - + + + // A creature gets damage from Kumano's Pupils and is destroyed after. + // The creature has to go to exile. + + @Test + public void testCreatureGetsExiledByKumano() { + // 3/3 + // If a creature dealt damage by Kumano's Pupils this turn would die, exile it instead. + addCard(Zone.BATTLEFIELD, playerA, "Kumano's Pupils"); + // 2/4 + addCard(Zone.BATTLEFIELD, playerB, "Pillarfield Ox", 1); + + // Terminate - Instant {R}{B} + // Destroy target creature. It can't be regenerated. + addCard(Zone.HAND, playerA, "Terminate"); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1); + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); + + attack(2, playerB, "Pillarfield Ox"); + block(2, playerA, "Kumano's Pupils", "Pillarfield Ox"); + + castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "Terminate", "Pillarfield Ox"); + + setStopAt(2, PhaseStep.END_TURN); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 20); + + assertPermanentCount(playerB, "Pillarfield Ox", 0); + assertGraveyardCount(playerA, "Terminate", 1); + + assertExileCount("Pillarfield Ox", 1); + assertGraveyardCount(playerB, "Pillarfield Ox", 0); + + } + + + + // A creature gets damage from Kumano's Pupils and returns to hand after. + // Then it's cast again. This new permanent instance is destroyed. It may not + // got to exile because only previous instance was damgaged by Kumano's Pupils. + + @Test + public void testPermanentNewInstanceAndKumano() { + // 3/3 + // If a creature dealt damage by Kumano's Pupils this turn would die, exile it instead. + addCard(Zone.BATTLEFIELD, playerA, "Kumano's Pupils"); + // 2/4 + addCard(Zone.BATTLEFIELD, playerB, "Pillarfield Ox", 1); + + // Unsummon - Instant {U} + // Return target creature to its owner's hand. + addCard(Zone.HAND, playerA, "Unsummon"); + // Terminate - Instant {R}{B} + // Destroy target creature. It can't be regenerated. + addCard(Zone.HAND, playerA, "Terminate"); + addCard(Zone.BATTLEFIELD, playerA, "Island", 1); + addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1); + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); + addCard(Zone.BATTLEFIELD, playerB, "Plains", 4); + + + attack(2, playerB, "Pillarfield Ox"); + block(2, playerA, "Kumano's Pupils", "Pillarfield Ox"); + + castSpell(2, PhaseStep.COMBAT_DAMAGE, playerA, "Unsummon", "Pillarfield Ox"); + castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Pillarfield Ox"); + castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerA, "Terminate", "Pillarfield Ox"); + + setStopAt(2, PhaseStep.END_TURN); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 20); + + assertPermanentCount(playerB, "Pillarfield Ox", 0); + assertPermanentCount(playerA, "Kumano's Pupils", 1); + assertPowerToughness(playerA, "Kumano's Pupils", 3, 3); + assertGraveyardCount(playerA, "Unsummon", 1); + assertGraveyardCount(playerA, "Terminate", 1); + + assertExileCount("Pillarfield Ox", 0); + assertGraveyardCount(playerB, "Pillarfield Ox", 1); + + } + }