package org.mage.test.cards.filters; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.game.permanent.Permanent; import org.junit.Assert; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** * @author ayrat */ public class OneEyedScarecrowTest extends CardTestPlayerBase { @Test public void testBoost() { addCard(Zone.BATTLEFIELD, playerA, "One-Eyed Scarecrow"); addCard(Zone.BATTLEFIELD, playerA, "Screeching Bat"); addCard(Zone.BATTLEFIELD, playerA, "Runeclaw Bear"); addCard(Zone.BATTLEFIELD, playerB, "Screeching Bat"); addCard(Zone.BATTLEFIELD, playerB, "Runeclaw Bear"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); Permanent scarecrow = getPermanent("One-Eyed Scarecrow", playerA.getId()); Assert.assertNotNull(scarecrow); Assert.assertEquals(2, scarecrow.getPower().getValue()); Assert.assertEquals(3, scarecrow.getToughness().getValue()); // still 2/2 - flying, but not under opponent's control Permanent screechingBat = getPermanent("Screeching Bat", playerA.getId()); Assert.assertNotNull(screechingBat); Assert.assertEquals(2, screechingBat.getPower().getValue()); Assert.assertEquals(2, screechingBat.getToughness().getValue()); // 2/2 Permanent runeclawBear = getPermanent("Runeclaw Bear", playerA.getId()); Assert.assertNotNull(runeclawBear); Assert.assertEquals(2, runeclawBear.getPower().getValue()); Assert.assertEquals(2, runeclawBear.getToughness().getValue()); // 1/2 Permanent screechingBatOpp = getPermanent("Screeching Bat", playerB.getId()); Assert.assertNotNull(screechingBatOpp); Assert.assertEquals(1, screechingBatOpp.getPower().getValue()); Assert.assertEquals(2, screechingBatOpp.getToughness().getValue()); // still 2/2 - not flying Permanent runeclawBearOpp = getPermanent("Runeclaw Bear", playerB.getId()); Assert.assertNotNull(runeclawBearOpp); Assert.assertEquals(2, runeclawBearOpp.getPower().getValue()); Assert.assertEquals(2, runeclawBearOpp.getToughness().getValue()); } @Test public void testMultiEffects() { addCard(Zone.BATTLEFIELD, playerA, "One-Eyed Scarecrow", 3); addCard(Zone.BATTLEFIELD, playerB, "Screeching Bat"); addCard(Zone.BATTLEFIELD, playerB, "Runeclaw Bear"); setStopAt(1, PhaseStep.BEGIN_COMBAT); execute(); // -1/2 Permanent screechingBatOpp = getPermanent("Screeching Bat", playerB.getId()); Assert.assertNotNull(screechingBatOpp); Assert.assertEquals(-1, screechingBatOpp.getPower().getValue()); Assert.assertEquals(2, screechingBatOpp.getToughness().getValue()); // still 2/2 - not flying Permanent runeclawBearOpp = getPermanent("Runeclaw Bear", playerB.getId()); Assert.assertNotNull(runeclawBearOpp); Assert.assertEquals(2, runeclawBearOpp.getPower().getValue()); Assert.assertEquals(2, runeclawBearOpp.getToughness().getValue()); } }