@@ -0,0 +1,2210 @@
+package guitests;%0A%0Aimport static org.junit.Assert.assertTrue;%0Aimport static seedu.ezdo.logic.commands.DoneCommand.MESSAGE_DONE_TASK_SUCCESS;%0A%0Aimport org.junit.Test;%0A%0Aimport seedu.ezdo.testutil.TestTask;%0Aimport seedu.ezdo.testutil.TestUtil;%0A%0Apublic class DoneCommandTest extends EzDoGuiTest %7B%0A%0A    @Test%0A    public void done_success() %7B%0A%0A        //delete the first in the list%0A        TestTask%5B%5D currentList = td.getTypicalTasks();%0A        TestTask%5B%5D doneList = td.getTypicalDoneTasks();%0A        int targetIndex = 1;%0A        TestTask toDone = currentList%5BtargetIndex - 1%5D;%0A        assertDoneSuccess(targetIndex, currentList, doneList);%0A%0A        //delete the last in the list%0A        currentList = TestUtil.removeTaskFromList(currentList, targetIndex);%0A        doneList = TestUtil.addTasksToList(doneList, toDone);%0A        targetIndex = currentList.length;%0A        assertDoneSuccess(targetIndex, currentList, doneList);%0A%0A        //invalid index%0A        currentList = TestUtil.removeTaskFromList(currentList, targetIndex);%0A        doneList = TestUtil.addTasksToList(doneList, toDone);%0A        commandBox.runCommand(%22done %22 + currentList.length + 1);%0A        assertResultMessage(%22The task index provided is invalid%22); %0A    %7D%0A%0A    private void assertDoneSuccess(int targetIndexOneIndexed, final TestTask%5B%5D currentList, final TestTask%5B%5D doneList) %7B%0A        %0A        TestTask taskToDone = currentList%5BtargetIndexOneIndexed - 1%5D; // -1 as array uses zero indexing%0A        TestTask%5B%5D expectedRemainder = TestUtil.removeTaskFromList(currentList, targetIndexOneIndexed);%0A        TestTask%5B%5D expectedDone = TestUtil.addTasksToList(doneList, taskToDone);%0A%0A        commandBox.runCommand(%22done %22 + targetIndexOneIndexed);%0A%0A        //confirm the list now contains all done tasks including the one just marked as done%0A        assertTrue(taskListPanel.isListMatching(expectedDone));%0A        %0A        //confirm the result message is correct%0A        assertResultMessage(String.format(MESSAGE_DONE_TASK_SUCCESS, taskToDone));%0A        %0A        //confirm the undone list does not contain the task just marked as done%0A        commandBox.runCommand(%22list%22);%0A        assertTrue(taskListPanel.isListMatching(expectedRemainder));%0A    %7D%0A%0A%7D%0A

Add preliminary test cases for DoneCommand