diff options
author | Eduardo Pedroni <e.pedroni91@gmail.com> | 2015-07-23 19:31:58 +0200 |
---|---|---|
committer | Eduardo Pedroni <e.pedroni91@gmail.com> | 2015-07-23 19:31:58 +0200 |
commit | f3ce19d1c5be34575adeaed0cf991a609ac8a10f (patch) | |
tree | 9c6d7b768de815986591b2efd47eb62ebc8fb0fd /src/eu/equalparts/cardbase/cli | |
parent | f3b507240930f721571c9da1b4985a02e0a17b6b (diff) |
Reorganised the test folder a bit more, started working on CLI tests, a bit tricky, will require refactoring
Diffstat (limited to 'src/eu/equalparts/cardbase/cli')
-rw-r--r-- | src/eu/equalparts/cardbase/cli/CardbaseCLI.java | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/src/eu/equalparts/cardbase/cli/CardbaseCLI.java b/src/eu/equalparts/cardbase/cli/CardbaseCLI.java index 3639005..e621bb5 100644 --- a/src/eu/equalparts/cardbase/cli/CardbaseCLI.java +++ b/src/eu/equalparts/cardbase/cli/CardbaseCLI.java @@ -23,14 +23,14 @@ import eu.equalparts.cardbase.utils.MTGUniverse; * * @author Eduardo Pedroni */ -public class CardbaseCLI { +public final class CardbaseCLI { /** * Enum type to store actions. * * @author Eduardo Pedroni */ - private enum Action { + enum Action { ADD, REMOVE; public Card card; } @@ -38,19 +38,19 @@ public class CardbaseCLI { /** * Location of the help file. */ - private static final String HELP_FILE_PATH = "/help"; + static final String HELP_FILE_PATH = "/help"; /** * Program version. */ - private static final String VERSION = "1.0"; + static final String VERSION = "1.0"; /** * The last action performed by the user. */ - private Action lastAction = null; + Action lastAction = null; /** * The currently selected set, from which new cards are added. */ - private FullCardSet selectedSet = null; + FullCardSet selectedSet = null; /** * The actual cardbase being interfaced with. */ @@ -58,20 +58,20 @@ public class CardbaseCLI { /** * Printed to the console when the user enters the help command. */ - private String help = "Not available, check project page on GitHub."; + String help = "Not available, check project page on GitHub."; /** * The cardbase file off which we are currently working, if any. */ - private File cardbaseFile = null; + File cardbaseFile = null; /** * Save flag is raised when cards are added or removed and causes a prompt to be shown * if the user tries to exit with unsaved changed. */ - private boolean savePrompt = false; + boolean savePrompt = false; /** * Exit flag, program breaks out of the main loop when true. */ - private boolean exit = false; + boolean exit = false; /** * Execute the interface. @@ -89,7 +89,7 @@ public class CardbaseCLI { * * @param args a list of arguments. Only the first argument is used, as a cardbase JSON. */ - public CardbaseCLI(String... args) { + CardbaseCLI(String... args) { System.out.println("Welcome to Cardbase CLI!"); // set debug flag if we are debugging @@ -140,14 +140,15 @@ public class CardbaseCLI { * @param input the raw input from the user. * @return an array of strings, where the first element is the command and subsequent elements are the arguments. */ - public String[] sanitiseInput(String input) { + String[] sanitiseInput(String input) { return input.trim().split("[ \t]+"); + } /** * Read stdin for user input, sanitise and interpret any commands entered. */ - private void startInterface() { + void startInterface() { BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); try { // the main loop @@ -194,7 +195,7 @@ public class CardbaseCLI { /** * Print help to console. */ - public void help() { + void help() { System.out.println(help); } @@ -203,7 +204,7 @@ public class CardbaseCLI { * * @param args optionally the file to which to write. */ - public void write(String[] args) { + void write(String... args) { File outputFile; // user-provided file overrides everything else if (args != null && args.length > 0) { @@ -240,14 +241,14 @@ public class CardbaseCLI { /** * Print program version. */ - public void version() { + void version() { System.out.println("Cardbase v" + VERSION); } /** * Exit procedure. */ - public void exit() { + void exit() { if (savePrompt) { System.out.println("Don't forget to save. If you really wish to quit without saving, type \"exit\" again."); savePrompt = false; @@ -259,7 +260,7 @@ public class CardbaseCLI { /** * Print a list of valid set codes. */ - public void sets() { + void sets() { for (CardSetInformation set : MTGUniverse.getCardSetList()) { // CardSet has an overridden toString() System.out.println(set); @@ -271,7 +272,7 @@ public class CardbaseCLI { * * @param args the code of the chosen set. */ - public void set(String[] args) { + void set(String... args) { if (args != null && args.length > 0) { try { selectedSet = MTGUniverse.getFullCardSet(args[0]); @@ -301,7 +302,7 @@ public class CardbaseCLI { /** * Print a brief list of the whole cardbase. */ - public void glance() { + void glance() { int total = 0; for (Card card : cardbase.getCards()) { printGlance(card); @@ -315,7 +316,7 @@ public class CardbaseCLI { * * @param args optionally a card within the set (by number) to peruse. */ - public void peruse(String[] args) { + void peruse(String... args) { // if a card is specified, peruse only that if (args != null && args.length > 0) { if (selectedSet != null) { @@ -342,7 +343,7 @@ public class CardbaseCLI { /** * Undo previous action. */ - public void undo() { + void undo() { if (lastAction != null) { if (lastAction == Action.ADD) { removeCard(lastAction.card); @@ -361,7 +362,7 @@ public class CardbaseCLI { * * @param args the set number of the card to remove and optionally the count to be removed. */ - public void remove(String[] args) { + void remove(String... args) { if (selectedSet != null) { if (args != null && args.length > 0) { Card cardToRemove = selectedSet.getCardByNumber(args[0]); @@ -393,7 +394,7 @@ public class CardbaseCLI { * @param number the number of the card to add. * @param args optionally the count to add. */ - public void add(String number, String[] args) { + void add(String number, String... args) { if (selectedSet != null) { // a blank line after adding a card repeats the addition unlimitedly if (number.isEmpty()) { @@ -428,7 +429,7 @@ public class CardbaseCLI { * @param card the card to add, set this object's * count field to determine the count to add. */ - private void addCard(Card card) { + void addCard(Card card) { System.out.println("Added " + card.count + "x " + card.name + "."); cardbase.addCard(card); savePrompt = true; @@ -443,7 +444,7 @@ public class CardbaseCLI { * @param card the card to remove, set this object's count field * to determine how many of the card to remove. */ - private void removeCard(Card card) { + void removeCard(Card card) { Integer removed = cardbase.removeCard(card); if (removed > 0) { System.out.println("Removed " + removed + "x " + card.name + "."); @@ -462,7 +463,7 @@ public class CardbaseCLI { * @param name the file name candidate to sanitise. * @return the sanitised name. */ - private String sanitiseFileName(String name) { + String sanitiseFileName(String name) { // POSIX-compliant valid filename characters name = name.replaceAll("[^-_.A-Za-z0-9]", ""); // extension is not indispensable, but good practice @@ -478,7 +479,7 @@ public class CardbaseCLI { * * @param card the card to glance. */ - private void printGlance(Card card) { + void printGlance(Card card) { System.out.println(String.format("%1$-4d %2$s (%3$s, %4$s)", card.count, card.name, card.setCode, card.number)); } @@ -489,7 +490,7 @@ public class CardbaseCLI { * * @param card the card to peruse. */ - private void printPerusal(Card card) { + void printPerusal(Card card) { printGlance(card); if (card.type != null) System.out.println("\t" + card.type); if (card.manaCost != null) System.out.println("\tCost: " + card.manaCost); |