@@ -0,0 +1,2199 @@
+package guitests;%0A%0Aimport org.junit.Test;%0Aimport seedu.agendum.logic.commands.MarkCommand;%0Aimport seedu.agendum.commons.core.Messages;%0Aimport seedu.agendum.testutil.TaskBuilder;%0Aimport seedu.agendum.testutil.TestTask;%0Aimport seedu.agendum.testutil.TestUtil;%0A%0Aimport static org.junit.Assert.assertTrue;%0A%0Apublic class MarkCommandTest extends ToDoListGuiTest %7B%0A%0A    @Test%0A    public void mark() %7B%0A%0A        //mark the first in the list%0A        TestTask%5B%5D currentList = td.getTypicalTasks();%0A        int targetIndex = 1;%0A        assertMarkSuccess(targetIndex, currentList);%0A%0A        //Task in the original currentList are not marked (only the copy is tested)%0A%0A        //mark the last in the list%0A        targetIndex = currentList.length;%0A        assertMarkSuccess(targetIndex, currentList);%0A%0A        //mark from the middle of the list%0A        targetIndex = currentList.length/2;%0A        assertMarkSuccess(targetIndex, currentList);%0A%0A        //invalid index%0A        commandBox.runCommand(%22mark %22 + currentList.length + 1);%0A        assertResultMessage(Messages.MESSAGE_INVALID_TASK_DISPLAYED_INDEX);%0A%0A    %7D%0A%0A    /**%0A     * Runs the mark command to mark the task at specified index and confirms the result is correct.%0A     * @param targetIndexOneIndexed e.g. to mark the first task in the list, 1 should be given as the target index.%0A     * @param currentList A copy of the current list of tasks (before marking).%0A     */%0A    private void assertMarkSuccess(int targetIndexOneIndexed, final TestTask%5B%5D currentList) %7B%0A        TestTask taskToMark = currentList%5BtargetIndexOneIndexed-1%5D; //-1 because array uses zero indexing%0A        TestTask markedTask = new TaskBuilder(taskToMark).withCompletedStatus().build();%0A        TestTask%5B%5D expectedList = TestUtil.replaceTaskFromList(currentList, markedTask, targetIndexOneIndexed -1);%0A%0A        commandBox.runCommand(%22mark %22 + targetIndexOneIndexed);%0A%0A        //confirm the list now contains all previous tasks and the specified task has been marked%0A        assertTrue(taskListPanel.isListMatching(expectedList));%0A%0A        //confirm the result message is correct%0A        assertResultMessage(String.format(MarkCommand.MESSAGE_MARK_TASK_SUCCESS, taskToMark));%0A    %7D%0A%0A%7D%0A

Add MarkCommandTest stub