Skip to content

Commit

Permalink
Add tests for AddReminderCommand, DeleteReminderCommand, ListReminder…
Browse files Browse the repository at this point in the history
…Command, CompleteDeliveryJobCommand, DeleteDeliveryJobCommand.

Tests coverage is quite low, at 48%.

Increasing test coverage helps to enhance product quality.

Let's add more tests to increase test coverage.
  • Loading branch information
dohaduong committed Apr 6, 2023
1 parent 02960bc commit 730b7cf
Show file tree
Hide file tree
Showing 13 changed files with 172 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

}
9 changes: 9 additions & 0 deletions src/main/java/seedu/address/ui/timetable/CompleteWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
@@ -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));
}

}
Original file line number Diff line number Diff line change
@@ -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));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package seedu.address.logic.commands.jobs;

public class EditDeliveryJobCommandTest {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package seedu.address.logic.commands.jobs;

public class FindDeliveryJobCommandTest {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package seedu.address.logic.commands.jobs;

public class ImportDeliveryJobCommandTest {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package seedu.address.logic.commands.jobs;

public class ListDeliveryJobCommandTest {
}
Original file line number Diff line number Diff line change
@@ -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));
}

}
Original file line number Diff line number Diff line change
@@ -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));
}

}
Original file line number Diff line number Diff line change
@@ -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);
}

}

0 comments on commit 730b7cf

Please sign in to comment.