Skip to content

Commit

Permalink
Merge pull request #362
Browse files Browse the repository at this point in the history
Add test case for redo command
  • Loading branch information
CYX22222003 authored Nov 10, 2024
2 parents c20cf37 + b45133b commit ffc9c26
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions src/test/java/seedu/address/logic/commands/RedoCommandTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package seedu.address.logic.commands;

import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure;
import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess;
import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON;
import static seedu.address.testutil.TypicalPersons.getTypicalCampusConnect;

import org.junit.jupiter.api.Test;
Expand All @@ -9,12 +11,38 @@
import seedu.address.model.Model;
import seedu.address.model.ModelManager;
import seedu.address.model.UserPrefs;
import seedu.address.model.person.Person;

public class RedoCommandTest {
private Model model = new ModelManager(getTypicalCampusConnect(), new UserPrefs());

@Test
public void execute_emptyFutureAndHistoryStack_failure() {
assertCommandFailure(new RedoCommand(), model, Messages.MESSAGE_REDO_FAILURE);
}

@Test
public void execute_emptyFutureStack_failure() {
model.saveCurrentCampusConnect();
Person person = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased());
model.deletePerson(person);
assertCommandFailure(new RedoCommand(), model, Messages.MESSAGE_REDO_FAILURE);
}

@Test
public void execute_nonEmptyFutureStack_success() {
ModelManager expectedModel = new ModelManager(model.getCampusConnect(), new UserPrefs());
UndoCommand undoCommand = new UndoCommand();
String expectedUndoMessage = UndoCommand.MESSAGE_SUCCESS;
String expectedRedoMessage = RedoCommand.MESSAGE_SUCCESS;

model.saveCurrentCampusConnect();
Person person = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased());
model.deletePerson(person);

ModelManager expectedRedoneModel = new ModelManager(model.getCampusConnect(), new UserPrefs());

assertCommandSuccess(undoCommand, model, expectedUndoMessage, expectedModel);
assertCommandSuccess(new RedoCommand(), model, expectedRedoMessage, expectedRedoneModel);
}
}

0 comments on commit ffc9c26

Please sign in to comment.