From 5aea5a5ba3dcd35809cd49bb0015e5b769fc4542 Mon Sep 17 00:00:00 2001 From: yisiox Date: Sat, 17 Feb 2024 14:00:44 +0800 Subject: [PATCH] Update JUnit tests --- docs/README.md | 7 +++++++ src/main/java/earl/Earl.java | 2 +- src/main/java/earl/gui/Launcher.java | 3 +-- src/main/java/earl/logic/EventHandler.java | 1 - src/main/java/earl/logic/HandlerType.java | 16 +++++++-------- src/main/java/earl/logic/TaskHandler.java | 20 +++++++------------ src/main/java/earl/util/Ui.java | 5 ++++- .../java/earl/util/parsers/InputParser.java | 2 +- .../java/earl/logic/DeleteHandlerTest.java | 4 ++-- src/test/java/earl/logic/MarkHandlerTest.java | 4 ++-- src/test/java/earl/logic/TodoHandlerTest.java | 6 +++--- .../earl/util/parsers/InputParserTest.java | 4 ++-- text-ui-test/EXPECTED.TXT | 12 +++++------ 13 files changed, 44 insertions(+), 42 deletions(-) diff --git a/docs/README.md b/docs/README.md index 349830904d..4a199b327f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,6 +8,13 @@ applications. ![](Ui.png) +## Getting Started + +1. Download the `.jar` file from [here](https://github.com/yisiox/ip/releases). +2. Open a terminal in the directory which you saved the `.jar` file, then run + 1. `java -jar earl.jar` for GUI mode. + 2. `java -jar earl.jar nogui` for TUI mode. + ## Quick Reference | Command | Arguments | diff --git a/src/main/java/earl/Earl.java b/src/main/java/earl/Earl.java index 32860b83ba..343c18ada4 100644 --- a/src/main/java/earl/Earl.java +++ b/src/main/java/earl/Earl.java @@ -29,7 +29,7 @@ public Earl(String filePath) { storage = new Storage(filePath); tasks = new TaskList(storage.load(TaskStorageParser::parse)); if (!storage.wasLoadSuccessful()) { - ui.makeResponse("Storage hath succumb to corruption... ", + ui.buildResponse("Storage hath succumb to corruption... ", "initiating an unfortunate state of emptiness."); } ui.showGreeting(); diff --git a/src/main/java/earl/gui/Launcher.java b/src/main/java/earl/gui/Launcher.java index 2eba1d983a..ae3d8dca26 100644 --- a/src/main/java/earl/gui/Launcher.java +++ b/src/main/java/earl/gui/Launcher.java @@ -1,7 +1,6 @@ package earl.gui; import earl.Earl; - import javafx.application.Application; /** @@ -13,7 +12,7 @@ public static void main(String[] args) { Earl earl = new Earl("data/earl.txt"); earl.run(); return; - }; + } Application.launch(Main.class, args); } } diff --git a/src/main/java/earl/logic/EventHandler.java b/src/main/java/earl/logic/EventHandler.java index 5fd2f5e43b..6c48ccbe67 100644 --- a/src/main/java/earl/logic/EventHandler.java +++ b/src/main/java/earl/logic/EventHandler.java @@ -1,7 +1,6 @@ package earl.logic; import earl.exceptions.EarlException; -import earl.tasks.Task; import earl.tasks.TaskType; import earl.util.TaskList; import earl.util.Ui; diff --git a/src/main/java/earl/logic/HandlerType.java b/src/main/java/earl/logic/HandlerType.java index 617dc9691b..cad53b46eb 100644 --- a/src/main/java/earl/logic/HandlerType.java +++ b/src/main/java/earl/logic/HandlerType.java @@ -5,49 +5,49 @@ */ public enum HandlerType { - list { + LIST { @Override public Handler createHandler(String args) { return new ListHandler(args); } }, - todo { + TODO { @Override public Handler createHandler(String args) { return new TodoHandler(args); } }, - deadline { + DEADLINE { @Override public Handler createHandler(String args) { return new DeadlineHandler(args); } }, - event { + EVENT { @Override public Handler createHandler(String args) { return new EventHandler(args); } }, - mark { + MARK { @Override public Handler createHandler(String args) { return new MarkHandler(args); } }, - unmark { + UNMARK { @Override public Handler createHandler(String args) { return new UnmarkHandler(args); } }, - delete { + DELETE { @Override public Handler createHandler(String args) { return new DeleteHandler(args); } }, - find { + FIND { @Override public Handler createHandler(String args) { return new FindHandler(args); diff --git a/src/main/java/earl/logic/TaskHandler.java b/src/main/java/earl/logic/TaskHandler.java index 3c1343be75..80d408053b 100644 --- a/src/main/java/earl/logic/TaskHandler.java +++ b/src/main/java/earl/logic/TaskHandler.java @@ -4,18 +4,12 @@ import earl.tasks.Task; import earl.tasks.TaskType; import earl.util.TaskList; -import earl.util.Ui; /** * Abstract class representing the adding of a task. */ public abstract class TaskHandler extends Handler { - protected final String[] successMessageFormats = { - "A new %s %s", - "hath been appended to the roster of responsibilities.", - "The ledger of tasks bears witness to %d endeavour(s)."}; - /** Class constructor. */ public TaskHandler(String args) { super(args); @@ -27,16 +21,16 @@ protected String[] addTask(TaskList tasks, TaskType type, String... data) Task newTask = type.createTask(data); tasks.add(newTask); - return new String[]{ - String.format(successMessageFormats[0], - type.name().toLowerCase(), newTask.toString()), - successMessageFormats[1], - String.format(successMessageFormats[2], tasks.getSize())}; + String first = "A new " + type.name() + " " + newTask.toString(); + String second = "hath been appended to the " + + "roster of responsibilities."; + String third = "The ledger of tasks bears witness to " + + tasks.getSize() + " endeavour(s)."; + return new String[]{first, second, third}; } catch (IndexOutOfBoundsException e) { throw new EarlException("An error befalls. Example use:"); } catch (Exception e) { - throw new EarlException("Command hath faltered: " - + "obscure employment of " + throw new EarlException("Incomprehensible employment of " + type.name().toLowerCase() + ". Example use:"); } } diff --git a/src/main/java/earl/util/Ui.java b/src/main/java/earl/util/Ui.java index ef3aa964cf..1980740f01 100644 --- a/src/main/java/earl/util/Ui.java +++ b/src/main/java/earl/util/Ui.java @@ -88,8 +88,11 @@ public String appendNewline(String line) { return line + NEWLINE; } + /** Displays the initial greeting. */ public void showGreeting() { - makeResponse(GREETING_MESSAGE); + // response is built in case of any preceding error messages + buildResponse(GREETING_MESSAGE); + completeResponse(); } public void showGoodbye() { diff --git a/src/main/java/earl/util/parsers/InputParser.java b/src/main/java/earl/util/parsers/InputParser.java index 87f7227570..0618eeec7e 100644 --- a/src/main/java/earl/util/parsers/InputParser.java +++ b/src/main/java/earl/util/parsers/InputParser.java @@ -21,7 +21,7 @@ public static Handler parse(String input) throws ParserException { // all valid input is expected to be of the format // [, , ...] String[] data = input.split("\\s", 2); - String command = data[0]; + String command = data[0].toUpperCase(); String args = (data.length > 1) ? data[1] : ""; HandlerType handlerType = HandlerType.valueOf(command); return handlerType.createHandler(args); diff --git a/src/test/java/earl/logic/DeleteHandlerTest.java b/src/test/java/earl/logic/DeleteHandlerTest.java index deae7b9251..6cf0e72ad8 100644 --- a/src/test/java/earl/logic/DeleteHandlerTest.java +++ b/src/test/java/earl/logic/DeleteHandlerTest.java @@ -27,7 +27,7 @@ void setUp() { @Test void handle_normalInput_success() throws Exception { - Handler handler = HandlerType.delete.createHandler("1"); + Handler handler = HandlerType.DELETE.createHandler("1"); handler.handle(new TaskListStub(), new UiStub()); String newLine = System.lineSeparator(); assertEquals("Item(s) heretofore have been expunged." + newLine @@ -37,7 +37,7 @@ void handle_normalInput_success() throws Exception { @Test void handle_nonIntegerInput_exceptionThrown() { try { - Handler handler = HandlerType.delete.createHandler("a"); + Handler handler = HandlerType.DELETE.createHandler("a"); handler.handle(new TaskListStub(), new UiStub()); fail(); } catch (Exception e) { diff --git a/src/test/java/earl/logic/MarkHandlerTest.java b/src/test/java/earl/logic/MarkHandlerTest.java index 5ce6234a8c..c9e6fd8e64 100644 --- a/src/test/java/earl/logic/MarkHandlerTest.java +++ b/src/test/java/earl/logic/MarkHandlerTest.java @@ -27,7 +27,7 @@ void setUp() { @Test void handle_normalCommand_success() throws Exception { - Handler handler = HandlerType.mark.createHandler("1"); + Handler handler = HandlerType.MARK.createHandler("1"); handler.handle(new TaskListStub(), new UiStub()); String newLine = System.lineSeparator(); assertEquals("Item(s) duly accomplished." + newLine @@ -38,7 +38,7 @@ void handle_normalCommand_success() throws Exception { @Test void handle_nonIntegerInput_exceptionThrown() { try { - Handler handler = HandlerType.mark.createHandler("a"); + Handler handler = HandlerType.MARK.createHandler("a"); handler.handle(new TaskListStub(), new UiStub()); fail(); } catch (Exception e) { diff --git a/src/test/java/earl/logic/TodoHandlerTest.java b/src/test/java/earl/logic/TodoHandlerTest.java index 986bb425a0..bb96e32572 100644 --- a/src/test/java/earl/logic/TodoHandlerTest.java +++ b/src/test/java/earl/logic/TodoHandlerTest.java @@ -30,9 +30,9 @@ void setUp() { @Test void handle_normalCommand_success() throws Exception { - Handler handler = HandlerType.todo.createHandler("test"); + Handler handler = HandlerType.TODO.createHandler("test"); handler.handle(new TaskListStub(), new UiStub()); - String expected = "A new todo [T][ ] test" + String expected = "A new TODO [T][ ] test" + NEWLINE + "hath been appended to the roster of responsibilities." + NEWLINE @@ -44,7 +44,7 @@ void handle_normalCommand_success() throws Exception { @Test void handle_emptyDescription_exceptionThrown() { try { - Handler handler = HandlerType.todo.createHandler(""); + Handler handler = HandlerType.TODO.createHandler(""); handler.handle(new TaskListStub(), new UiStub()); fail(); } catch (EarlException e) { diff --git a/src/test/java/earl/util/parsers/InputParserTest.java b/src/test/java/earl/util/parsers/InputParserTest.java index 58d5ce6aa8..bc1307c166 100644 --- a/src/test/java/earl/util/parsers/InputParserTest.java +++ b/src/test/java/earl/util/parsers/InputParserTest.java @@ -23,10 +23,10 @@ void parse_normalInput_handlerReturnedSuccess() throws Exception { @Test void parse_invalidInput_exceptionThrown() { try { - InputParser.parse("TODO ip"); + InputParser.parse("no ip"); fail(); } catch (ParserException e) { - assertEquals("TODO ip", e.getMessage()); + assertEquals("no ip", e.getMessage()); } } } diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 3bddb7562c..30bfb4f197 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -3,16 +3,16 @@ Pray, how may I be of service to you on this auspicious day? ____________________________________________________________ ____________________________________________________________ - A new todo [T][ ] wash dishes, by virtue of your decree, + A new TODO [T][ ] wash dishes hath been appended to the roster of responsibilities. The ledger of tasks bears witness to 1 endeavour(s). ____________________________________________________________ ____________________________________________________________ - Command hath faltered: obscure employment of deadline. Example use: + Incomprehensible employment of deadline. Example use: deadline /by ____________________________________________________________ ____________________________________________________________ - Command hath faltered: obscure employment of event. Example use: + Incomprehensible employment of event. Example use: deadline /from /to ____________________________________________________________ ____________________________________________________________ @@ -33,17 +33,17 @@ An error proclaims the absence of valid indices in range. ____________________________________________________________ ____________________________________________________________ - A new todo [T][ ] a, by virtue of your decree, + A new TODO [T][ ] a hath been appended to the roster of responsibilities. The ledger of tasks bears witness to 2 endeavour(s). ____________________________________________________________ ____________________________________________________________ - A new todo [T][ ] b, by virtue of your decree, + A new TODO [T][ ] b hath been appended to the roster of responsibilities. The ledger of tasks bears witness to 3 endeavour(s). ____________________________________________________________ ____________________________________________________________ - A new todo [T][ ] c, by virtue of your decree, + A new TODO [T][ ] c hath been appended to the roster of responsibilities. The ledger of tasks bears witness to 4 endeavour(s). ____________________________________________________________