From bcea598fbd70a3276a8f041ddeec7465b9cc8d0b Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sun, 17 Sep 2023 15:51:17 +0400 Subject: [PATCH] tests: added mtgjson rules output in test_showCardInfo --- .../mage/verify/mtgjson/MtgJsonService.java | 13 ++++-------- .../java/mage/verify/VerifyCardDataTest.java | 21 ++++++++++++++++--- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Mage.Verify/src/main/java/mage/verify/mtgjson/MtgJsonService.java b/Mage.Verify/src/main/java/mage/verify/mtgjson/MtgJsonService.java index a9c47771b21..ae9a0eaa770 100644 --- a/Mage.Verify/src/main/java/mage/verify/mtgjson/MtgJsonService.java +++ b/Mage.Verify/src/main/java/mage/verify/mtgjson/MtgJsonService.java @@ -63,6 +63,10 @@ public final class MtgJsonService { return SetHolder.sets; } + public static Map cards() { + return CardHolder.cards; + } + public static MtgJsonMetadata meta() { return SetHolder.meta; } @@ -94,19 +98,10 @@ public final class MtgJsonService { private static T findReference(Map reference, String name) { T ref = reference.get(name); - if (ref == null) { - //name = name.replaceFirst("\\bA[Ee]", "Æ"); - //ref = reference.get(name); - } - if (ref == null) { - //name = name.replace("'", "\""); // for Kongming, "Sleeping Dragon" & Pang Tong, "Young Phoenix" - //ref = reference.get(name); - } if (ref == null) { name = convertXmageToMtgJsonCardName(name); ref = reference.get(name); } - return ref; } diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 0505a33f703..b6f25a4f098 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -233,7 +233,6 @@ public class VerifyCardDataTest { // file name must be related to sample-decks folder // for linux/windows build system use paths constructor skipListAddName(SKIP_LIST_SAMPLE_DECKS, Paths.get("Jumpstart", "jumpstart_custom.txt").toString()); // it's not a deck file - skipListAddName(SKIP_LIST_SAMPLE_DECKS, Paths.get("Commander", "Commander 2019", "Merciless Rage.dck").toString()); // TODO: delete after Aeon Engine implemented } private final ArrayList outputMessages = new ArrayList<>(); @@ -2121,13 +2120,18 @@ public class VerifyCardDataTest { @Test public void test_showCardInfo() { - // debug only: show direct card info from class file without db-recreate + // debug only: show direct card rules from a class file without db-recreate // - search by card name: Spark Double // - search by class name: SparkDouble // - multiple searches: name1;class2;name3 - String cardSearches = "Spark Double"; + String cardSearches = "Spark Double;AbandonedSarcophagus"; + + // prepare DBs CardScanner.scan(); + MtgJsonService.cards(); + Arrays.stream(cardSearches.split(";")).forEach(searchName -> { + // original card searchName = searchName.trim(); CardInfo cardInfo = CardRepository.instance.findCard(searchName); if (cardInfo == null) { @@ -2144,6 +2148,7 @@ public class VerifyCardDataTest { } CardSetInfo testSet = new CardSetInfo(cardInfo.getName(), "test", "123", Rarity.COMMON); Card card = CardImpl.createCard(cardInfo.getClassName(), testSet); + System.out.println(); System.out.println(card.getName() + " " + card.getManaCost().getText()); if (card instanceof SplitCard || card instanceof ModalDoubleFacedCard) { @@ -2151,6 +2156,16 @@ public class VerifyCardDataTest { } else { card.getRules().forEach(this::printAbilityText); } + + // ref card + System.out.println(); + MtgJsonCard ref = MtgJsonService.card(card.getName()); + if (ref != null) { + System.out.println("ref: " + ref.getNameAsFace() + " " + ref.manaCost); + System.out.println(ref.text); + } else { + System.out.println("WARNING, can't find mtgjson ref for " + card.getName()); + } }); }