* Fixed battlebond boosters (sometime it's can gen wrong booster without partners/cards)

This commit is contained in:
Oleg Agafonov 2018-08-25 07:49:32 +04:00
parent 15d1f12126
commit c34c13f7b7
2 changed files with 107 additions and 81 deletions

View file

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import mage.abilities.Ability;
import mage.abilities.keyword.PartnerWithAbility;
import mage.cards.Card;
@ -23,7 +24,6 @@ import org.junit.Test;
import org.mage.test.serverside.base.MageTestBase;
/**
*
* @author nigelzor, JayDi85
*/
public class BoosterGenerationTest extends MageTestBase {
@ -32,33 +32,38 @@ public class BoosterGenerationTest extends MageTestBase {
public void setUp() {
CardScanner.scan();
}
private static final List<String> basics = Arrays.asList("Plains", "Island", "Swamp", "Mountain", "Forest");
@Test
public void testBattlebond(){
private void checkOnePartnerBoost() {
List<Card> booster = Battlebond.getInstance().createBooster();
boolean foundPartner = false;
String Partner = "";
for (Card card : booster){
for (Ability ability : card.getAbilities()){
String Partner = "";
for (Card card : booster) {
for (Ability ability : card.getAbilities()) {
if (ability instanceof PartnerWithAbility) {
if (foundPartner){
Assert.assertEquals(Partner, card.getName());
}
else{
if (foundPartner) {
Assert.assertEquals(Partner, card.getName());
} else {
foundPartner = true;
Partner = ((PartnerWithAbility) ability).getPartnerName();
}
}
}
}
}
}
}
@Test
public void testBattlebondPartnerBoosters() {
for (int i = 0; i < 10; i++) {
checkOnePartnerBoost();
}
}
@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");
@ -70,6 +75,7 @@ public class BoosterGenerationTest extends MageTestBase {
|| contains(booster, basics, null));
// assertFalse(str(booster), contains(booster, basics, null));
}
@Test
public void testMastersEditionII() {
List<String> snowCoveredLand = Arrays.asList(
@ -97,12 +103,12 @@ public class BoosterGenerationTest extends MageTestBase {
Assert.assertEquals("Urza special lands must have 4 variation for each of 3 card", 3 * 4, setOrzaList.size());
List<String> foundedUrzaList = new ArrayList<>();
for (CardInfo cardInfo: setOrzaList) {
for (CardInfo cardInfo : setOrzaList) {
Assert.assertTrue("card " + cardInfo.getName() + " must be in urza's list", needUrzaList.contains(cardInfo.getName()));
foundedUrzaList.add(cardInfo.getName());
}
for (String needName: needUrzaList) {
for (String needName : needUrzaList) {
Assert.assertTrue("can't find need card " + needName + " in special land list", foundedUrzaList.contains(needName));
}
}
@ -117,7 +123,7 @@ public class BoosterGenerationTest extends MageTestBase {
"Urza's Tower"
);
for(int i = 1; i <= 5; i++) {
for (int i = 1; i <= 5; i++) {
List<Card> booster = MastersEditionIV.getInstance().createBooster();
assertTrue(str(booster), contains(booster, urzaLand, "ME4"));
assertFalse(str(booster), contains(booster, basics, null));