From 07902b17c758c1a688ee2d2e7aa51a8a4edbf063 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 16 Nov 2011 15:16:39 +0400 Subject: [PATCH] Test for Issue 374. --- .../test/cards/triggers/ManabarbsTest.java | 38 +++++++++++++++++++ .../serverside/base/impl/CardTestAPIImpl.java | 3 ++ 2 files changed, 41 insertions(+) create mode 100644 Mage.Tests/src/test/java/org/mage/test/cards/triggers/ManabarbsTest.java diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ManabarbsTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ManabarbsTest.java new file mode 100644 index 00000000000..c6617bb3783 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ManabarbsTest.java @@ -0,0 +1,38 @@ +package org.mage.test.cards.triggers; + +import mage.Constants; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestBase; + +/** + * @author ayratn + * + * Card: Whenever a player taps a land for mana, Manabarbs deals 1 damage to that player. + */ +public class ManabarbsTest extends CardTestBase { + + /** + * Issue 374: manabarb enchantment + * Games goes into a freeze loop. + * + * version: 0.8.1 + * + * Couldn't reproduce. + */ + @Test + public void testMultiTriggers() { + addCard(Constants.Zone.BATTLEFIELD, playerA, "Manabarbs"); + addCard(Constants.Zone.BATTLEFIELD, playerA, "Mountain", 7); + addCard(Constants.Zone.HAND, playerA, "Lightning Elemental"); + addCard(Constants.Zone.HAND, playerA, "Ball Lightning"); + + castSpell(playerA, "Ball Lightning"); + castSpell(playerA, "Lightning Elemental"); + + execute(); + assertLife(playerA, 13); // burns from Manabarbs + assertLife(playerB, 10); // ai should attack with 4/1 + 6/1 + assertPermanentCount(playerA, "Lightning Elemental", 1); + assertPermanentCount(playerA, "Ball Lightning", 0); // sacrificed at EOT + } +} 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 8713c60744f..099b6476392 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 @@ -118,6 +118,9 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP if (gameZone.equals(Constants.Zone.BATTLEFIELD)) { for (int i = 0; i < count; i++) { Card card = Sets.findCard(cardName, true); + if (card == null) { + throw new IllegalArgumentException("[TEST] Couldn't find a card: " + cardName); + } PermanentCard p = new PermanentCard(card, null); p.setTapped(tapped); if (player.equals(playerA)) {