mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 13:19:18 -08:00
Merge pull request #6190 from luziferius/refactor_promo_sets
[RFC] Refactor promo sets, add missing sets as listed on Scryfall
This commit is contained in:
commit
b16d30b79b
438 changed files with 14861 additions and 3880 deletions
|
|
@ -2,12 +2,12 @@ NAME:RB Aggro
|
|||
1 [SOM:242] Mountain
|
||||
1 [INV:344] Mountain
|
||||
1 [INV:345] Mountain
|
||||
1 [ZEN:263] Mountain
|
||||
1 [ZEN:242a] Mountain
|
||||
1 [SHM:294] Mountain
|
||||
1 [ZEN:264] Mountain
|
||||
1 [ZEN:242a] Mountain
|
||||
1 [SHM:295] Mountain
|
||||
1 [SHM:296] Mountain
|
||||
1 [ZEN:262] Mountain
|
||||
1 [ZEN:242a] Mountain
|
||||
1 [ISD:261] Mountain
|
||||
1 [ISD:260] Mountain
|
||||
1 [AVR:240] Mountain
|
||||
|
|
@ -19,7 +19,7 @@ NAME:RB Aggro
|
|||
1 [M10:245] Mountain
|
||||
1 [M10:242] Mountain
|
||||
1 [M10:243] Mountain
|
||||
1 [GUR:3] Mountain
|
||||
1 [PGRU:4] Mountain
|
||||
1 [MRD:299] Mountain
|
||||
1 [SOM:245] Mountain
|
||||
1 [SOM:244] Mountain
|
||||
|
|
@ -67,5 +67,5 @@ NAME:RB Aggro
|
|||
1 [TSP:295] Mountain
|
||||
1 [TSP:294] Mountain
|
||||
1 [ISD:259] Mountain
|
||||
LAYOUT MAIN:(2,1)(CMC,true,5)|()([GUR:3],[SHM:296],[AVR:240],[SHM:295],[SHM:294],[TSP:295],[TSP:294],[10E:379],[SOM:245],[ZEN:262],[ZEN:245],[10E:378],[SOM:244],[SOM:243],[ZEN:244],[SOM:242],[ZEN:243],[ZEN:242],[ALA:243],[ALA:242],[M12:245],[CHK:299],[M12:243],[M12:244],[CHK:300],[CHK:301],[M12:242],[CHK:302],[10E:376],[M11:243],[M11:242],[M11:245],[M11:244],[MBS:152],[ALA:244],[ALA:245],[ZEN:263],[ZEN:264],[RAV:301],[RAV:300],[RAV:299],[USG:345],[USG:346],[M10:242],[RAV:302],[USG:343],[USG:344],[ISD:259],[ROE:244],[ISD:261],[ISD:260],[ROE:241],[ROE:242],[ROE:243],[MRD:301],[MRD:300],[MRD:299],[M10:244],[M10:243],[M10:245],[LRW:294],[TMP:343],[LRW:295],[LRW:296],[LRW:297],[TMP:343],[MRD:302],[TMP:343],[TMP:343],[INV:345],[INV:344])
|
||||
LAYOUT MAIN:(2,1)(CMC,true,5)|()([PGRU:4],[SHM:296],[AVR:240],[SHM:295],[SHM:294],[TSP:295],[TSP:294],[10E:379],[SOM:245],[ZEN:242a],[ZEN:245],[10E:378],[SOM:244],[SOM:243],[ZEN:244],[SOM:242],[ZEN:243],[ZEN:242],[ALA:243],[ALA:242],[M12:245],[CHK:299],[M12:243],[M12:244],[CHK:300],[CHK:301],[M12:242],[CHK:302],[10E:376],[M11:243],[M11:242],[M11:245],[M11:244],[MBS:152],[ALA:244],[ALA:245],[ZEN:242a],[ZEN:242a],[RAV:301],[RAV:300],[RAV:299],[USG:345],[USG:346],[M10:242],[RAV:302],[USG:343],[USG:344],[ISD:259],[ROE:244],[ISD:261],[ISD:260],[ROE:241],[ROE:242],[ROE:243],[MRD:301],[MRD:300],[MRD:299],[M10:244],[M10:243],[M10:245],[LRW:294],[TMP:343],[LRW:295],[LRW:296],[LRW:297],[TMP:343],[MRD:302],[TMP:343],[TMP:343],[INV:345],[INV:344])
|
||||
LAYOUT SIDEBOARD:(0,0)(COLOR_IDENTITY,true,5)|
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public class TxtDeckImporterTest {
|
|||
Assert.assertEquals("Deck does not contain 3 cards, found " + deck.getCards().size(), 3, deck.getCards().size());
|
||||
Assert.assertEquals("Sideboard does not contain 2 cards, found " + deck.getSideboard().size(), 2, deck.getSideboard().size());
|
||||
|
||||
DeckCardLists imported = importer.importDeck("JustLands.txt");
|
||||
DeckCardLists imported = importer.importDeck("JustLands.txt", false);
|
||||
|
||||
Assert.assertEquals("Imported deck does not contain 3 cards, found " + imported.getCards().size(), 3, imported.getCards().size());
|
||||
Assert.assertEquals("Imported sideboard does not contain 2 cards, found " + imported.getSideboard().size(), 2, imported.getSideboard().size());
|
||||
|
|
|
|||
|
|
@ -59,46 +59,60 @@ public class LoadTest {
|
|||
Deck deck;
|
||||
|
||||
deck = DeckTestUtils.buildRandomDeck("G", false);
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in G",
|
||||
card.getColorIdentity().isGreen());
|
||||
}
|
||||
|
||||
deck = DeckTestUtils.buildRandomDeck("U", false);
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in U",
|
||||
card.getColorIdentity().isBlue());
|
||||
}
|
||||
|
||||
deck = DeckTestUtils.buildRandomDeck("BR", false);
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in BR",
|
||||
card.getColorIdentity().isBlack() || card.getColorIdentity().isRed());
|
||||
}
|
||||
|
||||
deck = DeckTestUtils.buildRandomDeck("BUG", false);
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in BUG",
|
||||
card.getColorIdentity().isBlack() || card.getColorIdentity().isBlue() || card.getColorIdentity().isGreen());
|
||||
}
|
||||
|
||||
// lands
|
||||
deck = DeckTestUtils.buildRandomDeck("UR", true);
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in UR",
|
||||
card.getColorIdentity().isBlue() || card.getColorIdentity().isRed());
|
||||
Assert.assertEquals("card " + card.getName() + " must be basic land ", Rarity.LAND, card.getRarity());
|
||||
}
|
||||
|
||||
deck = DeckTestUtils.buildRandomDeck("B", true);
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in B", card.getColorIdentity().isBlack());
|
||||
Assert.assertEquals("card " + card.getName() + " must be basic land ", Rarity.LAND, card.getRarity());
|
||||
}
|
||||
|
||||
// allowed sets
|
||||
deck = DeckTestUtils.buildRandomDeck("B", true, "GRN");
|
||||
Assert.assertNotNull(deck);
|
||||
for (Card card : deck.getCards()) {
|
||||
Assert.assertNotNull(card);
|
||||
Assert.assertTrue("card " + card.getName() + " color " + card.getColorIdentity().toString() + " must be in B", card.getColorIdentity().isBlack());
|
||||
Assert.assertEquals("card " + card.getName() + " have wrong set code " + card.getExpansionSetCode(), "GRN", card.getExpansionSetCode());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement
|
|||
if (loadedDeckCardLists.containsKey(deckName)) {
|
||||
list = loadedDeckCardLists.get(deckName);
|
||||
} else {
|
||||
list = DeckImporter.importDeckFromFile(deckName);
|
||||
list = DeckImporter.importDeckFromFile(deckName, true);
|
||||
loadedDeckCardLists.put(deckName, list);
|
||||
}
|
||||
Deck deck = Deck.load(list, false, false);
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ public class DeckValidatorTest extends MageTestBase {
|
|||
@Test
|
||||
public void testModernCounterspell1() {
|
||||
ArrayList<CardNameAmount> deckList = new ArrayList<>();
|
||||
deckList.add(new CardNameAmount("DD3JVC", 24, 4));
|
||||
deckList.add(new CardNameAmount("JVC", 24, 4));
|
||||
deckList.add(new CardNameAmount("Mountain", 56));
|
||||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
|
|
@ -134,7 +134,7 @@ public class DeckValidatorTest extends MageTestBase {
|
|||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
deckList.clear();
|
||||
deckList.add(new CardNameAmount("JR", 5, 4));
|
||||
deckList.add(new CardNameAmount("G00", 1, 4));
|
||||
deckList.add(new CardNameAmount("Mountain", 56));
|
||||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ public class DeckValidatorTest extends MageTestBase {
|
|||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
deckList.clear();
|
||||
deckList.add(new CardNameAmount("FNMP", 66, 4));
|
||||
deckList.add(new CardNameAmount("F05", 11, 4));
|
||||
deckList.add(new CardNameAmount("Mountain", 56));
|
||||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
|
|
@ -213,11 +213,6 @@ public class DeckValidatorTest extends MageTestBase {
|
|||
deckList.add(new CardNameAmount("Mountain", 56));
|
||||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
deckList.clear();
|
||||
deckList.add(new CardNameAmount("S00", 12, 4));
|
||||
deckList.add(new CardNameAmount("Mountain", 56));
|
||||
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue