package org.mage.test.cards.single.akh;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
/**
* @author stravant
*/
public class ApproachOfTheSecondSunTest extends CardTestPlayerBase {
@Test
public void testWinGametest() {
removeAllCardsFromLibrary(playerA);
addCard(Zone.HAND, playerA, "Approach of the Second Sun", 2);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 14);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Approach of the Second Sun");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Approach of the Second Sun");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 27);
assertLibraryCount(playerA, 1); // 1 approach in graveyard (The one that won the game)
assertGraveyardCount(playerA, 1); // 1 approach put back into library
assertHandCount(playerA, 0); // No aproaches left in hand
assertResult(playerA, GameResult.WON);
}
@Test
public void testDontCountOpponentCast() {
addCard(Zone.HAND, playerA, "Approach of the Second Sun");
addCard(Zone.HAND, playerB, "Approach of the Second Sun");
addCard(Zone.BATTLEFIELD, playerA, "Plains", 7);
addCard(Zone.BATTLEFIELD, playerB, "Plains", 7);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Approach of the Second Sun");
castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Approach of the Second Sun");
setStopAt(2, PhaseStep.END_TURN);
execute();
assertResult(playerA, GameResult.DRAW);
assertLife(playerA, 27);
assertLife(playerB, 27);
}
@Test
public void testRightPositionInDeck() {
removeAllCardsFromLibrary(playerA);
addCard(Zone.LIBRARY, playerA, "Plains", 6);
addCard(Zone.HAND, playerA, "Approach of the Second Sun", 1);
addCard(Zone.HAND, playerA, "Concentrate", 2);
addCard(Zone.BATTLEFIELD, playerA, "Tundra", 15);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Approach of the Second Sun");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Concentrate");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Concentrate");
setStopAt(1, PhaseStep.END_TURN);
execute();
assertLife(playerA, 27);
assertLibraryCount(playerA, "Approach of the Second Sun", 1); // 1 approach put back into library in the right place
assertLibraryCount(playerA, 1);
assertResult(playerA, GameResult.DRAW);
}
}