Skip to content

Commit

Permalink
Merge adccb39 into c00b823
Browse files Browse the repository at this point in the history
  • Loading branch information
louietyj committed Nov 6, 2016
2 parents c00b823 + adccb39 commit 0419fdc
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/main/java/seedu/todo/controllers/DestroyController.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ public class DestroyController extends Controller {
private static final String COMMAND_SYNTAX = "destroy <index>";
private static final String COMMAND_KEYWORD = "destroy";

private static final String MESSAGE_DELETE_SUCCESS = "Item deleted successfully!\n" + "To undo, type \"undo\".";
private static final String MESSAGE_INDEX_OUT_OF_RANGE = "Could not delete task/event: Invalid index provided!";
private static final String MESSAGE_MISSING_INDEX = "Please specify the index of the item to delete.";
private static final String MESSAGE_INDEX_NOT_NUMBER = "Index has to be a number!";
public static final String MESSAGE_DELETE_SUCCESS = "Item deleted successfully!\n" + "To undo, type \"undo\".";
public static final String MESSAGE_INDEX_OUT_OF_RANGE = "Could not delete task/event: Invalid index provided!";
public static final String MESSAGE_MISSING_INDEX = "Please specify the index of the item to delete.";
public static final String MESSAGE_INDEX_NOT_NUMBER = "Index has to be a number!";

private static CommandDefinition commandDefinition =
new CommandDefinition(NAME, DESCRIPTION, COMMAND_SYNTAX, COMMAND_KEYWORD);
Expand Down
95 changes: 95 additions & 0 deletions src/test/java/seedu/todo/guitests/DestroyCommandTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
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.DestroyController;
import seedu.todo.controllers.concerns.Renderer;
import seedu.todo.models.Event;
import seedu.todo.models.Task;

/**
* @@author A0093907W
*/
public class DestroyCommandTest 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 Event from \"%s 4pm\" to \"%s 5pm\"",
twoDaysFromNowString, twoDaysFromNowString);
Event event3 = new Event();

public DestroyCommandTest() {
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 Event");
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 destroy_task_hide() {
assertTaskNotVisibleAfterCmd("destroy 1", task1);
}

@Test
public void destroy_event_hide() {
assertEventNotVisibleAfterCmd("destroy 3", event3);
}

@Test
public void destroy_wrongIndex_error() {
console.runCommand("destroy 10");
String consoleMessage = Renderer.MESSAGE_DISAMBIGUATE + "\n\n"
+ DestroyController.MESSAGE_INDEX_OUT_OF_RANGE;
assertEquals(consoleMessage, console.getConsoleTextArea());
}

@Test
public void destroy_invalidIndex_error() {
console.runCommand("destroy alamak");
String consoleMessage = Renderer.MESSAGE_DISAMBIGUATE + "\n\n"
+ DestroyController.MESSAGE_INDEX_NOT_NUMBER;
assertEquals(consoleMessage, console.getConsoleTextArea());
}

@Test
public void destroy_missingIndex_error() {
console.runCommand("destroy");
String consoleMessage = Renderer.MESSAGE_DISAMBIGUATE + "\n\n"
+ DestroyController.MESSAGE_MISSING_INDEX;
assertEquals(consoleMessage, console.getConsoleTextArea());
}

}

0 comments on commit 0419fdc

Please sign in to comment.