diff --git a/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java index 87945313150..5b7988f4ff6 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java @@ -34,6 +34,8 @@ public class CompleteDeliveryJobCommand extends DeliveryJobCommand { * @param setDelivered */ public CompleteDeliveryJobCommand(String jobId, Boolean setDelivered) { + requireNonNull(jobId); + requireNonNull(setDelivered); this.jobId = jobId; this.setDelivered = setDelivered; } diff --git a/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java index b26092ece3f..106192d03a4 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java @@ -31,7 +31,12 @@ public class DeleteDeliveryJobCommand extends DeliveryJobCommand { private final String jobId; + /** + * Constructs a DeleteDeliveryJobCommand + * @param jobId of which job needs to be deleted + */ public DeleteDeliveryJobCommand(String jobId) { + requireNonNull(jobId); this.jobId = jobId; } diff --git a/src/main/java/seedu/address/logic/commands/reminder/DeleteReminderCommand.java b/src/main/java/seedu/address/logic/commands/reminder/DeleteReminderCommand.java index 83a08423a01..e7f944242f3 100644 --- a/src/main/java/seedu/address/logic/commands/reminder/DeleteReminderCommand.java +++ b/src/main/java/seedu/address/logic/commands/reminder/DeleteReminderCommand.java @@ -44,4 +44,12 @@ public CommandResult execute(Model model) throws CommandException { model.deleteReminder(targetIndex); return new CommandResult(String.format(MESSAGE_DELETE_REMINDER_SUCCESS)); } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof DeleteReminderCommand // instanceof handles nulls + && targetIndex == (((DeleteReminderCommand) other).targetIndex)); // state check + } + } diff --git a/src/main/java/seedu/address/ui/timetable/CompleteWindow.java b/src/main/java/seedu/address/ui/timetable/CompleteWindow.java index 91d45aa6f9a..3782a19279b 100644 --- a/src/main/java/seedu/address/ui/timetable/CompleteWindow.java +++ b/src/main/java/seedu/address/ui/timetable/CompleteWindow.java @@ -44,6 +44,15 @@ public CompleteWindow(Stage primaryStage, Logic logic) { this.logic = logic; } + /** + * Creates a {@code CompleteWindow} with the given {@code Logic}. + */ + public CompleteWindow(Logic logic) { + super(FXML, new Stage()); + this.primaryStage = new Stage(); + this.logic = logic; + } + /** * Show complete window. diff --git a/src/test/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommandTest.java b/src/test/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommandTest.java new file mode 100644 index 00000000000..b0c6c4549c2 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommandTest.java @@ -0,0 +1,18 @@ +package seedu.address.logic.commands.jobs; + +import static seedu.address.testutil.Assert.assertThrows; + +import org.junit.jupiter.api.Test; + +public class CompleteDeliveryJobCommandTest { + @Test + public void constructor_nullJobID_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> new CompleteDeliveryJobCommand(null, true)); + } + + @Test + public void constructor_nullDeliveredStatus_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> new CompleteDeliveryJobCommand("ABCDEFGH", (Boolean) null)); + } + +} diff --git a/src/test/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommandTest.java b/src/test/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommandTest.java new file mode 100644 index 00000000000..938ee3d0376 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommandTest.java @@ -0,0 +1,12 @@ +package seedu.address.logic.commands.jobs; + +import static seedu.address.testutil.Assert.assertThrows; + +import org.junit.jupiter.api.Test; + +public class DeleteDeliveryJobCommandTest { + @Test + public void constructor_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> new DeleteDeliveryJobCommand(null)); + } +} diff --git a/src/test/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommandTest.java b/src/test/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommandTest.java new file mode 100644 index 00000000000..b7a87132d3b --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommandTest.java @@ -0,0 +1,4 @@ +package seedu.address.logic.commands.jobs; + +public class EditDeliveryJobCommandTest { +} diff --git a/src/test/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommandTest.java b/src/test/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommandTest.java new file mode 100644 index 00000000000..a9ea3c53e52 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommandTest.java @@ -0,0 +1,4 @@ +package seedu.address.logic.commands.jobs; + +public class FindDeliveryJobCommandTest { +} diff --git a/src/test/java/seedu/address/logic/commands/jobs/ImportDeliveryJobCommandTest.java b/src/test/java/seedu/address/logic/commands/jobs/ImportDeliveryJobCommandTest.java new file mode 100644 index 00000000000..f52be565d14 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/jobs/ImportDeliveryJobCommandTest.java @@ -0,0 +1,4 @@ +package seedu.address.logic.commands.jobs; + +public class ImportDeliveryJobCommandTest { +} diff --git a/src/test/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommandTest.java b/src/test/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommandTest.java new file mode 100644 index 00000000000..1eeb21f6c8e --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommandTest.java @@ -0,0 +1,4 @@ +package seedu.address.logic.commands.jobs; + +public class ListDeliveryJobCommandTest { +} diff --git a/src/test/java/seedu/address/logic/commands/reminder/AddReminderCommandTest.java b/src/test/java/seedu/address/logic/commands/reminder/AddReminderCommandTest.java new file mode 100644 index 00000000000..5f61f94ee78 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/reminder/AddReminderCommandTest.java @@ -0,0 +1,16 @@ +package seedu.address.logic.commands.reminder; + +import static seedu.address.testutil.Assert.assertThrows; + +import org.junit.jupiter.api.Test; + +import seedu.address.model.reminder.Reminder; + + +public class AddReminderCommandTest { + @Test + public void constructor_nullReminder_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> new AddReminderCommand((Reminder) null)); + } + +} diff --git a/src/test/java/seedu/address/logic/commands/reminder/DeleteReminderCommandTest.java b/src/test/java/seedu/address/logic/commands/reminder/DeleteReminderCommandTest.java new file mode 100644 index 00000000000..5de55b0b26c --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/reminder/DeleteReminderCommandTest.java @@ -0,0 +1,53 @@ +package seedu.address.logic.commands.reminder; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.jupiter.api.Test; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; + + +public class DeleteReminderCommandTest { + private Model model = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); + + @Test + public void execute_invalidIndexReminderList_throwsCommandException() { + Index outOfBoundIndex = Index.fromOneBased(model.getReminderList().size() + 1); + DeleteReminderCommand deleteCommand = new DeleteReminderCommand(outOfBoundIndex.getZeroBased()); + + assertCommandFailure(deleteCommand, model, Messages.MESSAGE_INVALID_REMINDER_DISPLAYED_INDEX); + } + + @Test + public void equals() { + DeleteReminderCommand deleteFirstCommand = new DeleteReminderCommand(INDEX_FIRST_PERSON.getZeroBased()); + DeleteReminderCommand deleteSecondCommand = new DeleteReminderCommand(INDEX_SECOND_PERSON.getZeroBased()); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + DeleteReminderCommand deleteFirstCommandCopy = new DeleteReminderCommand(INDEX_FIRST_PERSON.getZeroBased()); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different index -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + +} diff --git a/src/test/java/seedu/address/logic/commands/reminder/ListReminderCommandTest.java b/src/test/java/seedu/address/logic/commands/reminder/ListReminderCommandTest.java new file mode 100644 index 00000000000..cb5aab29272 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/reminder/ListReminderCommandTest.java @@ -0,0 +1,33 @@ +package seedu.address.logic.commands.reminder; + +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import seedu.address.logic.commands.CommandResult; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; + + +public class ListReminderCommandTest { + private Model model; + private Model expectedModel; + + @BeforeEach + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); + } + + @Test + public void execute_reminderList_showsReminderList() { + CommandResult listReminderCommandResult = new CommandResult(ListReminderCommand.SHOWING_REMINDER_LIST_MESSAGE, + false, false, true, false, false); + assertCommandSuccess(new ListReminderCommand(), model, listReminderCommandResult, expectedModel); + } + +}