mirror of
https://github.com/correl/mage.git
synced 2025-03-12 17:00:08 -09:00
add test for non-standard booster generation
This commit is contained in:
parent
96bc3172f5
commit
038d02e8d7
8 changed files with 122 additions and 3 deletions
|
@ -27,19 +27,20 @@
|
|||
*/
|
||||
package mage.sets.arabiannights;
|
||||
|
||||
import mage.constants.Rarity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
|
||||
|
||||
public class Mountain1 extends mage.cards.basiclands.Mountain {
|
||||
|
||||
public Mountain1(UUID ownerId) {
|
||||
super(ownerId, 91);
|
||||
this.expansionSetCode = "ARN";
|
||||
this.rarity = Rarity.COMMON;
|
||||
}
|
||||
|
||||
public Mountain1(final Mountain1 card) {
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
package mage.sets.masterseditionii;
|
||||
|
||||
import mage.constants.Rarity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
@ -39,6 +41,7 @@ public class SnowCoveredForest extends mage.sets.iceage.SnowCoveredForest {
|
|||
super(ownerId);
|
||||
this.cardNumber = 245;
|
||||
this.expansionSetCode = "ME2";
|
||||
this.rarity = Rarity.LAND;
|
||||
}
|
||||
|
||||
public SnowCoveredForest(final SnowCoveredForest card) {
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
package mage.sets.masterseditionii;
|
||||
|
||||
import mage.constants.Rarity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
@ -39,6 +41,7 @@ public class SnowCoveredIsland extends mage.sets.iceage.SnowCoveredIsland {
|
|||
super(ownerId);
|
||||
this.cardNumber = 242;
|
||||
this.expansionSetCode = "ME2";
|
||||
this.rarity = Rarity.LAND;
|
||||
}
|
||||
|
||||
public SnowCoveredIsland(final SnowCoveredIsland card) {
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
package mage.sets.masterseditionii;
|
||||
|
||||
import mage.constants.Rarity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
@ -39,6 +41,7 @@ public class SnowCoveredMountain extends mage.sets.iceage.SnowCoveredMountain {
|
|||
super(ownerId);
|
||||
this.cardNumber = 244;
|
||||
this.expansionSetCode = "ME2";
|
||||
this.rarity = Rarity.LAND;
|
||||
}
|
||||
|
||||
public SnowCoveredMountain(final SnowCoveredMountain card) {
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
package mage.sets.masterseditionii;
|
||||
|
||||
import mage.constants.Rarity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
@ -39,6 +41,7 @@ public class SnowCoveredPlains extends mage.sets.iceage.SnowCoveredPlains {
|
|||
super(ownerId);
|
||||
this.cardNumber = 241;
|
||||
this.expansionSetCode = "ME2";
|
||||
this.rarity = Rarity.LAND;
|
||||
}
|
||||
|
||||
public SnowCoveredPlains(final SnowCoveredPlains card) {
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
package mage.sets.masterseditionii;
|
||||
|
||||
import mage.constants.Rarity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
@ -39,6 +41,7 @@ public class SnowCoveredSwamp extends mage.sets.iceage.SnowCoveredSwamp {
|
|||
super(ownerId);
|
||||
this.cardNumber = 243;
|
||||
this.expansionSetCode = "ME2";
|
||||
this.rarity = Rarity.LAND;
|
||||
}
|
||||
|
||||
public SnowCoveredSwamp(final SnowCoveredSwamp card) {
|
||||
|
|
|
@ -0,0 +1,103 @@
|
|||
package org.mage.test.sets;
|
||||
|
||||
import mage.cards.Card;
|
||||
import mage.cards.repository.CardScanner;
|
||||
import mage.sets.FateReforged;
|
||||
import mage.sets.MastersEditionII;
|
||||
import mage.sets.MastersEditionIV;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.MageTestBase;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author nigelzor
|
||||
*/
|
||||
public class BoosterGenerationTest extends MageTestBase {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
CardScanner.scan();
|
||||
}
|
||||
|
||||
private static final List<String> basics = Arrays.asList("Plains", "Island", "Swamp", "Mountain", "Forest");
|
||||
|
||||
@Test
|
||||
public void testFateReforged() {
|
||||
List<String> tapland = Arrays.asList(
|
||||
"Bloodfell Caves", "Blossoming Sands", "Dismal Backwater", "Jungle Hollow", "Rugged Highlands",
|
||||
"Scoured Barrens", "Swiftwater Cliffs", "Thornwood Falls", "Tranquil Cove", "Wind-Scarred Crag");
|
||||
List<String> fetchland = Arrays.asList(
|
||||
"Bloodstained Mire", "Flooded Strand", "Polluted Delta", "Windswept Heath", "Wooded Foothills");
|
||||
|
||||
List<Card> booster = FateReforged.getInstance().createBooster();
|
||||
assertTrue(str(booster), contains(booster, tapland, "FRF") || contains(booster, fetchland, "KTK"));
|
||||
assertFalse(str(booster), contains(booster, basics, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMastersEditionII() {
|
||||
List<String> snowCoveredLand = Arrays.asList(
|
||||
"Snow-Covered Plains",
|
||||
"Snow-Covered Island",
|
||||
"Snow-Covered Swamp",
|
||||
"Snow-Covered Mountain",
|
||||
"Snow-Covered Forest"
|
||||
);
|
||||
List<Card> booster = MastersEditionII.getInstance().createBooster();
|
||||
assertTrue(str(booster), contains(booster, snowCoveredLand, "ME2"));
|
||||
assertFalse(str(booster), contains(booster, basics, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMastersEditionIV() {
|
||||
List<String> urzaLand = Arrays.asList(
|
||||
"Urza's Mine",
|
||||
"Urza's Power Plant",
|
||||
"Urza's Tower"
|
||||
);
|
||||
List<Card> booster = MastersEditionIV.getInstance().createBooster();
|
||||
assertTrue(str(booster), contains(booster, urzaLand, "ME4"));
|
||||
assertFalse(str(booster), contains(booster, basics, null));
|
||||
}
|
||||
|
||||
private static String str(List<Card> cards) {
|
||||
StringBuilder sb = new StringBuilder("[");
|
||||
Iterator<Card> iterator = cards.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Card next = iterator.next();
|
||||
sb.append(next.getName());
|
||||
if (iterator.hasNext()) {
|
||||
sb.append(", ");
|
||||
}
|
||||
}
|
||||
sb.append("] (").append(cards.size()).append(")");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static boolean contains(List<Card> cards, List<String> names, String code) {
|
||||
for (String name : names) {
|
||||
if (contains(cards, name, code)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean contains(List<Card> cards, String name, String code) {
|
||||
for (Card card : cards) {
|
||||
if (card.getName().equals(name) && (code == null || card.getExpansionSetCode().equals(code))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -58,7 +58,7 @@ public abstract class ExpansionSet implements Serializable {
|
|||
protected int numBoosterSpecial;
|
||||
|
||||
protected int numBoosterLands;
|
||||
protected int ratioBoosterSpecialLand = 0; // if > 0 basic lands are replaced with speical land in the ratio every X land is replaced by special land
|
||||
protected int ratioBoosterSpecialLand = 0; // if > 0 basic lands are replaced with special land in the ratio every X land is replaced by special land
|
||||
|
||||
protected int numBoosterCommon;
|
||||
protected int numBoosterUncommon;
|
||||
|
|
Loading…
Add table
Reference in a new issue