tests: added ref rules compare in test_showCardInfo

This commit is contained in:
Oleg Agafonov 2025-04-09 01:24:30 +04:00
parent 1568189c1b
commit a29dbc17eb

View file

@ -1696,7 +1696,7 @@ public class VerifyCardDataTest {
checkCardCanBeCopied(card);
}
}
checkWrongAbilitiesText(card, ref, cardIndex);
checkWrongAbilitiesText(card, ref, cardIndex, false);
}
private void checkColors(Card card, MtgJsonCard ref) {
@ -2416,24 +2416,31 @@ public class VerifyCardDataTest {
// ref card
System.out.println();
MtgJsonCard ref = MtgJsonService.card(card.getName());
MtgJsonCard ref2 = null;
MtgJsonCard refMain = MtgJsonService.card(card.getName());
MtgJsonCard refSpell = null;
if (card instanceof CardWithSpellOption) {
ref2 = MtgJsonService.card(((CardWithSpellOption) card).getSpellCard().getName());
refSpell = MtgJsonService.card(((CardWithSpellOption) card).getSpellCard().getName());
}
if (ref == null) {
ref = MtgJsonService.cardByClassName(foundClassName);
if (refMain == null) {
refMain = MtgJsonService.cardByClassName(foundClassName);
}
if (ref != null) {
System.out.println("ref: " + ref.getNameAsFace() + " " + ref.manaCost);
System.out.println(ref.text);
if (ref2 != null) {
System.out.println(ref2.getNameAsFace() + " " + ref2.manaCost);
System.out.println(ref2.text);
if (refMain != null) {
System.out.println("ref: " + refMain.getNameAsFace() + " " + refMain.manaCost);
System.out.println(refMain.text);
if (refSpell != null) {
System.out.println(refSpell.getNameAsFace() + " " + refSpell.manaCost);
System.out.println(refSpell.text);
}
} else {
System.out.println("WARNING, can't find mtgjson ref for " + card.getName());
}
// additional check to simulate diff in rules
if (refMain != null) {
checkWrongAbilitiesText(card, refMain, 0, true);
} else if (refSpell != null) {
checkWrongAbilitiesText(((CardWithSpellOption) card).getSpellCard(), refSpell, 0, true);
}
});
}
@ -2484,9 +2491,9 @@ public class VerifyCardDataTest {
System.out.println();
}
private void checkWrongAbilitiesText(Card card, MtgJsonCard ref, int cardIndex) {
private void checkWrongAbilitiesText(Card card, MtgJsonCard ref, int cardIndex, boolean forceToCheck) {
// checks missing or wrong text
if (!FULL_ABILITIES_CHECK_SET_CODES.equals("*") && !FULL_ABILITIES_CHECK_SET_CODES.contains(card.getExpansionSetCode())) {
if (!forceToCheck && !FULL_ABILITIES_CHECK_SET_CODES.equals("*") && !FULL_ABILITIES_CHECK_SET_CODES.contains(card.getExpansionSetCode())) {
return;
}
if (wasCheckedByAbilityText(ref)) {
@ -2628,10 +2635,10 @@ public class VerifyCardDataTest {
}
// extra message for easy checks
if (!isFine) {
if (forceToCheck || !isFine) {
System.out.println();
System.out.println("Wrong card " + cardIndex + ": " + card.getName());
System.out.println((isFine ? "Good" : "Wrong") + " card " + cardIndex + ": " + card.getName());
Arrays.sort(cardRules);
for (String s : cardRules) {
System.out.println(s);