@@ -0,0 +1,1284 @@
+package guitests;%0A%0Aimport guitests.guihandles.TaskCardHandle;%0Aimport static org.junit.Assert.assertTrue;%0Aimport static seedu.task.logic.commands.UpdateCommand.MESSAGE_UPDATE_TASK_SUCCESS;%0A%0Aimport org.junit.Test;%0A%0Aimport seedu.task.commons.core.Messages;%0Aimport seedu.task.commons.exceptions.IllegalValueException;%0Aimport seedu.task.logic.commands.UpdateCommand;%0Aimport seedu.task.model.tag.Tag;%0Aimport seedu.task.model.task.*;%0Aimport seedu.task.testutil.TestTask;%0Aimport seedu.task.testutil.TestUtil;%0A%0Apublic class UndoCommandTest extends TaskManagerGuiTest %7B%0A    @Test%0A    public void update() throws IllegalValueException %7B%0A        TestTask%5B%5D currentList = td.getTypicalTasks();%0A        int targetIndex = 1;%0A        %0A        // undo add command%0A        assertUndoSuccess(td.hoon.getAddCommand(), currentList);%0A        %0A        // undo delete command%0A        assertUndoSuccess(%22delete %22 + targetIndex, currentList);%0A        %0A        // undo update command%0A        assertUndoSuccess(%22update %22 + targetIndex + td.ida.getArgs(), currentList);%0A    %7D%0A    %0A    private void assertUndoSuccess(String command, TestTask... originalList) %7B%0A        commandBox.runCommand(command);%0A        commandBox.runCommand(%22undo%22);%0A        assertTrue(taskListPanel.isListMatching(originalList));%0A    %7D   %0A%7D

Add basic test for undo command