Skip to content

Commit

Permalink
Merge 03cb970 into 779295b
Browse files Browse the repository at this point in the history
  • Loading branch information
louietyj committed Nov 6, 2016
2 parents 779295b + 03cb970 commit a2e1ae2
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/main/java/seedu/todo/controllers/FindController.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
97 changes: 97 additions & 0 deletions src/test/java/seedu/todo/guitests/FindCommandTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
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;

/**
* @@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);
}

@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);
}

@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);
}

@Test
public void find_multiple_success() {
console.runCommand("find Milk");
assertTaskNotVisible(task1);
assertTaskVisible(task2);
assertEventVisible(event3);
}
}

0 comments on commit a2e1ae2

Please sign in to comment.