mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Adding support for deck name in Forge Deck Format
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
This commit is contained in:
@@ -153,7 +153,7 @@ public class DeckRecognizer {
|
|||||||
// Core Matching Patterns (initialised in Constructor)
|
// Core Matching Patterns (initialised in Constructor)
|
||||||
public static final String REGRP_DECKNAME = "deckName";
|
public static final String REGRP_DECKNAME = "deckName";
|
||||||
public static final String REX_DECK_NAME =
|
public static final String REX_DECK_NAME =
|
||||||
String.format("^(//\\s*)?(?<pre>(deck|name))(\\:|\\s)\\s*(?<%s>[a-zA-Z0-9',\\/\\-\\s]+)\\s*(.*)$",
|
String.format("^(//\\s*)?(?<pre>(deck|name))(\\:|=|\\s)\\s*(?<%s>[a-zA-Z0-9',\\/\\-\\s\\(\\)]+)\\s*(.*)$",
|
||||||
REGRP_DECKNAME);
|
REGRP_DECKNAME);
|
||||||
public static final Pattern DECK_NAME_PATTERN = Pattern.compile(REX_DECK_NAME, Pattern.CASE_INSENSITIVE);
|
public static final Pattern DECK_NAME_PATTERN = Pattern.compile(REX_DECK_NAME, Pattern.CASE_INSENSITIVE);
|
||||||
|
|
||||||
|
|||||||
@@ -168,6 +168,14 @@ public class DeckRecognizerTest extends ForgeCardMockTestCase {
|
|||||||
assertEquals(deckNameMatcher.group(DeckRecognizer.REGRP_DECKNAME), "Red Green Aggro");
|
assertEquals(deckNameMatcher.group(DeckRecognizer.REGRP_DECKNAME), "Red Green Aggro");
|
||||||
assertEquals(DeckRecognizer.getDeckName(matchingDeckName), "Red Green Aggro");
|
assertEquals(DeckRecognizer.getDeckName(matchingDeckName), "Red Green Aggro");
|
||||||
|
|
||||||
|
// Forge deck format
|
||||||
|
matchingDeckName = "Name=Sliver Overlord (Commander)";
|
||||||
|
deckNameMatcher = deckNamePattern.matcher(matchingDeckName);
|
||||||
|
assertTrue(deckNameMatcher.matches());
|
||||||
|
assertTrue(DeckRecognizer.isDeckName(matchingDeckName));
|
||||||
|
assertEquals(deckNameMatcher.group(DeckRecognizer.REGRP_DECKNAME), "Sliver Overlord (Commander)");
|
||||||
|
assertEquals(DeckRecognizer.getDeckName(matchingDeckName), "Sliver Overlord (Commander)");
|
||||||
|
|
||||||
// Failing Cases
|
// Failing Cases
|
||||||
matchingDeckName = ":Red Green Aggro";
|
matchingDeckName = ":Red Green Aggro";
|
||||||
deckNameMatcher = deckNamePattern.matcher(matchingDeckName);
|
deckNameMatcher = deckNamePattern.matcher(matchingDeckName);
|
||||||
|
|||||||
Reference in New Issue
Block a user