use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class ManaOptionsTest method testTinderFarm.
// Tinder Farm enters the battlefield tapped.
// {T}: Add {G}.
// {T}, Sacrifice Tinder Farm: Add {R}{W}.
@Test
public void testTinderFarm() {
addCard(Zone.BATTLEFIELD, playerA, "Tinder Farm", 3);
setStopAt(2, PhaseStep.UPKEEP);
execute();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
assertDuplicatedManaOptions(manaOptions);
Assert.assertEquals("mana variations don't fit", 4, manaOptions.size());
assertManaOptions("{G}{G}{G}", manaOptions);
assertManaOptions("{R}{G}{G}{W}", manaOptions);
assertManaOptions("{R}{R}{G}{W}{W}", manaOptions);
assertManaOptions("{R}{R}{R}{W}{W}{W}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class ManaOptionsTest method testCabalCoffers1.
/**
* Don't use mana sources that only reduce available mana
*/
@Test
public void testCabalCoffers1() {
addCard(Zone.BATTLEFIELD, playerA, "Cabal Coffers", 1);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 1);
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
setStopAt(1, PhaseStep.UPKEEP);
execute();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
assertDuplicatedManaOptions(manaOptions);
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
assertManaOptions("{W}{B}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class ManaOptionsTest method testDuplicatedDontHave1.
@Test
public void testDuplicatedDontHave1() {
// Any
addCard(Zone.BATTLEFIELD, playerA, "City of Brass", 2);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 2);
setStopAt(1, PhaseStep.UPKEEP);
execute();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
assertDuplicatedManaOptions(manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class ManaOptionsTest method testSungrassPrairie3.
@Test
public void testSungrassPrairie3() {
// {1}, {T}: Add {G}{W}.
addCard(Zone.BATTLEFIELD, playerA, "Sungrass Prairie", 1);
// ({T}: Add {U} or {W} to your mana pool.)
addCard(Zone.BATTLEFIELD, playerA, "Tundra", 1);
// ({T}: Add {G} or {U} to your mana pool.)
addCard(Zone.BATTLEFIELD, playerA, "Tropical Island", 1);
setStopAt(3, PhaseStep.PRECOMBAT_MAIN);
execute();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
assertDuplicatedManaOptions(manaOptions);
Assert.assertEquals("mana variations don't fit", 4, manaOptions.size());
assertManaOptions("{U}{U}", manaOptions);
assertManaOptions("{G}{G}{W}", manaOptions);
assertManaOptions("{G}{W}{U}", manaOptions);
assertManaOptions("{G}{W}{W}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class CostReduceForEachTest method test_BenthicExplorers_BottomlessVault.
@Test
public void test_BenthicExplorers_BottomlessVault() {
// {T}, Untap a tapped land an opponent controls: Add one mana of any type that land could produce.
addCard(Zone.BATTLEFIELD, playerA, "Benthic Explorers", 1);
// Bottomless Vault enters the battlefield tapped.
// You may choose not to untap Bottomless Vault during your untap step.
// At the beginning of your upkeep, if Bottomless Vault is tapped, put a storage counter on it.
// Tap, Remove any number of storage counters from Bottomless Vault: Add Black for each storage counter removed this way.
// give 1 mana
addCard(Zone.BATTLEFIELD, playerB, "Bottomless Vault", 1);
setStrictChooseMode(true);
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
execute();
assertAllCommandsUsed();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
assertManaOptions("{B}", manaOptions);
}
Aggregations