From 3acf7384e3d69aa5d641c09efad2d745fcbba4ec Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Thu, 26 Aug 2021 02:47:35 +0100 Subject: [PATCH] FIXED Sneaky bug that capped art index in DB requests to one digit! (Added tests in cardDb and CardRequest to cover the case!) --- forge-core/src/main/java/forge/card/CardDb.java | 2 +- .../src/test/java/forge/card/CardDbTestCase.java | 6 ++++++ .../src/test/java/forge/card/CardRequestTestCase.java | 11 +++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index d00310d38ce..756d5a71ce4 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -142,7 +142,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { } private static boolean isArtIndex(String s) { - return StringUtils.isNumeric(s) && s.length() == 1; + return StringUtils.isNumeric(s); } private static boolean isSetCode(String s) { diff --git a/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java b/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java index 9bad0be201c..e2bd0bdff47 100644 --- a/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java @@ -2079,6 +2079,12 @@ public class CardDbTestCase extends ForgeCardMockTestCase { assertEquals(islandOriginal.getArtIndex(), 12); } + @Test + public void testMaxArtCountForBasicLand(){ + int maxArtIndex = this.cardDb.getMaxArtIndex("Island"); + assertEquals(maxArtIndex, 13); + } + } diff --git a/forge-gui-desktop/src/test/java/forge/card/CardRequestTestCase.java b/forge-gui-desktop/src/test/java/forge/card/CardRequestTestCase.java index 4279de97001..bf29efa4f84 100644 --- a/forge-gui-desktop/src/test/java/forge/card/CardRequestTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/card/CardRequestTestCase.java @@ -215,4 +215,15 @@ public class CardRequestTestCase { assertNotEquals(request.artIndex, newRequest.artIndex); } + @Test + public void testCreatingCardRequestWithArtIndexGreaterThanNine(){ + String requestString = CardRequest.compose("Island", "SLD", 13); + CardRequest request = CardRequest.fromString(requestString); + + assertEquals(request.cardName, "Island"); + assertEquals(request.edition, "SLD"); + assertEquals(request.artIndex, 13); + assertEquals(request.collectorNumber, IPaperCard.NO_COLLECTOR_NUMBER); + } + } \ No newline at end of file