mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 21:02:08 -08: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
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue