From 60034b8533195487d2697e3cd8c1a8c50d36dffa Mon Sep 17 00:00:00 2001 From: louietyj Date: Mon, 7 Nov 2016 00:54:17 +0800 Subject: [PATCH 1/5] FindCommand fixtures --- .../seedu/todo/guitests/FindCommandTest.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/test/java/seedu/todo/guitests/FindCommandTest.java diff --git a/src/test/java/seedu/todo/guitests/FindCommandTest.java b/src/test/java/seedu/todo/guitests/FindCommandTest.java new file mode 100644 index 000000000000..04de87f170d6 --- /dev/null +++ b/src/test/java/seedu/todo/guitests/FindCommandTest.java @@ -0,0 +1,56 @@ +package seedu.todo.guitests; + +import java.time.LocalDateTime; + +import org.junit.Before; + +import seedu.todo.commons.util.DateUtil; +import seedu.todo.models.Event; +import seedu.todo.models.Task; + +/** + * @@author A0093907W + */ +public class FindCommandTest extends GuiTest { + + private final LocalDateTime oneDayFromNow = LocalDateTime.now().plusDays(1); + private final String oneDayFromNowString = DateUtil.formatDate(oneDayFromNow); + private final String oneDayFromNowIsoString = DateUtil.formatIsoDate(oneDayFromNow); + private final LocalDateTime twoDaysFromNow = LocalDateTime.now().plusDays(2); + private final String twoDaysFromNowString = DateUtil.formatDate(twoDaysFromNow); + private final String twoDaysFromNowIsoString = DateUtil.formatIsoDate(twoDaysFromNow); + private final LocalDateTime oneDayToNow = LocalDateTime.now().minusDays(1); + private final String oneDayToNowString = DateUtil.formatDate(oneDayToNow); + private final String oneDayToNowIsoString = DateUtil.formatIsoDate(oneDayToNow); + + String commandAdd1 = String.format("add task Buy KOI by \"%s 8pm\"", oneDayToNowString); + Task task1 = new Task(); + String commandAdd2 = String.format("add task Buy Milk by \"%s 9pm\"", oneDayFromNowString); + Task task2 = new Task(); + String commandAdd3 = String.format("add event Some Milk from \"%s 4pm\" to \"%s 5pm\"", + twoDaysFromNowString, twoDaysFromNowString); + Event event3 = new Event(); + + public FindCommandTest() { + task1.setName("Buy KOI"); + task1.setDueDate(DateUtil.parseDateTime( + String.format("%s 20:00:00", oneDayToNowIsoString))); + task2.setName("Buy Milk"); + task2.setDueDate(DateUtil.parseDateTime( + String.format("%s 21:00:00", oneDayFromNowIsoString))); + event3.setName("Some Milk"); + event3.setStartDate(DateUtil.parseDateTime( + String.format("%s 16:00:00", twoDaysFromNowIsoString))); + event3.setEndDate(DateUtil.parseDateTime( + String.format("%s 17:00:00", twoDaysFromNowIsoString))); + } + + @Before + public void fixtures() { + console.runCommand("clear"); + console.runCommand(commandAdd1); + console.runCommand(commandAdd2); + console.runCommand(commandAdd3); + } + +} From 60ca462be292496cf8362d0cfb8d7aab1a132cfb Mon Sep 17 00:00:00 2001 From: louietyj Date: Mon, 7 Nov 2016 00:58:46 +0800 Subject: [PATCH 2/5] Make message strings public --- src/main/java/seedu/todo/controllers/FindController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/todo/controllers/FindController.java b/src/main/java/seedu/todo/controllers/FindController.java index a2ff5f06e26b..bc110a9662bd 100644 --- a/src/main/java/seedu/todo/controllers/FindController.java +++ b/src/main/java/seedu/todo/controllers/FindController.java @@ -25,9 +25,9 @@ public class FindController extends Controller { private static final String COMMAND_SYNTAX = "find [name]"; private static final String COMMAND_KEYWORD = "find"; - private static final String MESSAGE_LISTING_SUCCESS = "A total of %s %s and %s %s found!"; - private static final String MESSAGE_LISTING_FAILURE = "No tasks or events found!"; - private static final String STRING_SPACE = " "; + public static final String MESSAGE_LISTING_SUCCESS = "A total of %s %s and %s %s found!"; + public static final String MESSAGE_LISTING_FAILURE = "No tasks or events found!"; + public static final String STRING_SPACE = " "; private static CommandDefinition commandDefinition = new CommandDefinition(NAME, DESCRIPTION, COMMAND_SYNTAX, COMMAND_KEYWORD); From 823ebec9b4641296285828ae839da7b65f3a7b08 Mon Sep 17 00:00:00 2001 From: louietyj Date: Mon, 7 Nov 2016 00:59:45 +0800 Subject: [PATCH 3/5] Baseline tests --- .../java/seedu/todo/guitests/FindCommandTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/java/seedu/todo/guitests/FindCommandTest.java b/src/test/java/seedu/todo/guitests/FindCommandTest.java index 04de87f170d6..cfdf909ff773 100644 --- a/src/test/java/seedu/todo/guitests/FindCommandTest.java +++ b/src/test/java/seedu/todo/guitests/FindCommandTest.java @@ -3,6 +3,7 @@ import java.time.LocalDateTime; import org.junit.Before; +import org.junit.Test; import seedu.todo.commons.util.DateUtil; import seedu.todo.models.Event; @@ -52,5 +53,19 @@ public void fixtures() { console.runCommand(commandAdd2); console.runCommand(commandAdd3); } + + @Test + public void find_unique_success() { + console.runCommand("find KOI"); + assertTaskVisible(task1); + assertTaskNotVisible(task2); + } + + @Test + public void find_uniqueCaseInsensitive_success() { + console.runCommand("find koi"); + assertTaskVisible(task1); + assertTaskNotVisible(task2); + } } From 0f3903570295ab74ce8ebbec4f6f299101f6ea89 Mon Sep 17 00:00:00 2001 From: louietyj Date: Mon, 7 Nov 2016 01:01:38 +0800 Subject: [PATCH 4/5] Test for partial starting matches and ending matches --- .../seedu/todo/guitests/FindCommandTest.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/test/java/seedu/todo/guitests/FindCommandTest.java b/src/test/java/seedu/todo/guitests/FindCommandTest.java index cfdf909ff773..4ec2cd1144f0 100644 --- a/src/test/java/seedu/todo/guitests/FindCommandTest.java +++ b/src/test/java/seedu/todo/guitests/FindCommandTest.java @@ -1,11 +1,14 @@ package seedu.todo.guitests; +import static org.junit.Assert.assertEquals; + import java.time.LocalDateTime; import org.junit.Before; import org.junit.Test; import seedu.todo.commons.util.DateUtil; +import seedu.todo.controllers.FindController; import seedu.todo.models.Event; import seedu.todo.models.Task; @@ -67,5 +70,20 @@ public void find_uniqueCaseInsensitive_success() { assertTaskVisible(task1); assertTaskNotVisible(task2); } - + + @Test + public void find_uniquePartialMatch_success() { + console.runCommand("find KO"); + assertTaskVisible(task1); + assertTaskNotVisible(task2); + } + + @Test + public void find_uniqueEndingMatch_fail() { + console.runCommand("find OI"); + assertEquals(FindController.MESSAGE_LISTING_FAILURE, console.getConsoleTextArea()); + assertTaskVisible(task1); + assertTaskVisible(task2); + assertEventVisible(event3); + } } From 03cb9701961db2f1aa19ec548203c4e339c6b3d9 Mon Sep 17 00:00:00 2001 From: louietyj Date: Mon, 7 Nov 2016 01:04:13 +0800 Subject: [PATCH 5/5] Test multiple names --- src/test/java/seedu/todo/guitests/FindCommandTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/seedu/todo/guitests/FindCommandTest.java b/src/test/java/seedu/todo/guitests/FindCommandTest.java index 4ec2cd1144f0..fd3ae2aed19a 100644 --- a/src/test/java/seedu/todo/guitests/FindCommandTest.java +++ b/src/test/java/seedu/todo/guitests/FindCommandTest.java @@ -86,4 +86,12 @@ public void find_uniqueEndingMatch_fail() { assertTaskVisible(task2); assertEventVisible(event3); } + + @Test + public void find_multiple_success() { + console.runCommand("find Milk"); + assertTaskNotVisible(task1); + assertTaskVisible(task2); + assertEventVisible(event3); + } }