From 4cb00a57124015f0154887895fafb0fe6c1b3006 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 16 Nov 2011 10:44:09 +0400 Subject: [PATCH] Tests for deal damage to creatures. --- .../test/cards/damage/LightningBoltTest.java | 47 ++++++++++++++++++- .../test/serverside/base/CardTestBase.java | 4 +- .../serverside/base/impl/CardTestAPIImpl.java | 4 ++ 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/damage/LightningBoltTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/damage/LightningBoltTest.java index 6ff51d7933c..ca7b6cfe07f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/damage/LightningBoltTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/damage/LightningBoltTest.java @@ -11,7 +11,6 @@ public class LightningBoltTest extends CardTestBase { @Test public void testDamageOpponent() { - System.out.println("TEST: testDamageOpponent"); addCard(Constants.Zone.HAND, playerA, "Mountain"); addCard(Constants.Zone.HAND, playerA, "Lightning Bolt"); @@ -26,7 +25,6 @@ public class LightningBoltTest extends CardTestBase { @Test public void testDamageSelf() { - System.out.println("TEST: testDamageSelf"); addCard(Constants.Zone.HAND, playerA, "Mountain"); addCard(Constants.Zone.HAND, playerA, "Lightning Bolt"); @@ -40,4 +38,49 @@ public class LightningBoltTest extends CardTestBase { assertLife(playerB, 20); } + @Test + public void testDamageSmallCreature() { + addCard(Constants.Zone.HAND, playerA, "Mountain"); + addCard(Constants.Zone.HAND, playerA, "Lightning Bolt"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Sejiri Merfolk"); + + playLand(playerA, "Mountain"); + castSpell(playerA, "Lightning Bolt"); + addFixedTarget(playerA, "Lightning Bolt", "Sejiri Merfolk"); + + execute(); + assertPermanentCount(playerB, "Sejiri Merfolk", 0); + } + + @Test + public void testDamageBigCreature() { + addCard(Constants.Zone.HAND, playerA, "Mountain"); + addCard(Constants.Zone.HAND, playerA, "Lightning Bolt"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Craw Wurm"); + + playLand(playerA, "Mountain"); + castSpell(playerA, "Lightning Bolt"); + addFixedTarget(playerA, "Lightning Bolt", "Craw Wurm"); + + execute(); + assertPermanentCount(playerB, "Craw Wurm", 1); + } + + @Test + public void testDamageBigCreatureTwice() { + addCard(Constants.Zone.BATTLEFIELD, playerA, "Mountain"); + addCard(Constants.Zone.BATTLEFIELD, playerA, "Mountain"); + addCard(Constants.Zone.HAND, playerA, "Lightning Bolt"); + addCard(Constants.Zone.HAND, playerA, "Lightning Bolt"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Craw Wurm"); + + castSpell(playerA, "Lightning Bolt"); + addFixedTarget(playerA, "Lightning Bolt", "Craw Wurm"); + castSpell(playerA, "Lightning Bolt"); + addFixedTarget(playerA, "Lightning Bolt", "Craw Wurm"); + + execute(); + assertPermanentCount(playerB, "Craw Wurm", 0); + } + } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java index f175e128fb7..7cc9dc2fa08 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java @@ -46,8 +46,8 @@ public abstract class CardTestBase extends CardTestAPIImpl { private AIType aiTypeA, aiTypeB; public CardTestBase() { - aiTypeA = CardTestBase.AIType.MAD; - aiTypeB = CardTestBase.AIType.MAD; + aiTypeA = AIType.MAD; + aiTypeB = AIType.MAD; } public CardTestBase(AIType aiTypeA, AIType aiTypeB) { diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java index 0d6fec0c4cd..d7b6e774072 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java @@ -367,6 +367,10 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP player.addAction("cast:"+cardName + ";name=" + target.getName()); } + public void addFixedTarget(Player player, String cardName, String targetName) { + player.addAction("cast:"+cardName + ";name=" + targetName); + } + public void useAbility(Player player, String cardName) { } }