Skip to content

Commit

Permalink
Add ParserUtil JUnit testing
Browse files Browse the repository at this point in the history
Added JUnit testing for:
-parseEventDescription
-parseEventPeriod
  • Loading branch information
lihongguang00 committed Oct 9, 2023
1 parent cc52809 commit 16ee959
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/main/java/seedu/address/model/event/EventPeriod.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ private EventPeriod(LocalDateTime start, LocalDateTime end) {
* @return A new EventPeriod object with minimum date/time values.
*/
public static EventPeriod createNonConflictingPeriod() {
return new EventPeriod(LocalDateTime.MIN, LocalDateTime.MIN);
return new EventPeriod(LocalDateTime.MAX, LocalDateTime.MIN);
}

/**
Expand Down
69 changes: 69 additions & 0 deletions src/test/java/seedu/address/logic/parser/ParserUtilTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import org.junit.jupiter.api.Test;

import seedu.address.logic.parser.exceptions.ParseException;
import seedu.address.model.event.EventDescription;
import seedu.address.model.event.EventPeriod;
import seedu.address.model.person.Address;
import seedu.address.model.person.Email;
import seedu.address.model.person.Name;
Expand All @@ -27,12 +29,18 @@ public class ParserUtilTest {
private static final String INVALID_EMAIL = "example.com";
private static final String INVALID_TAG = "#friend";

private static final String INVALID_DESCRIPTION = "";
private static final String INVALID_DATE = "2023-13-35 16:80";

private static final String VALID_NAME = "Rachel Walker";
private static final String VALID_PHONE = "123456";
private static final String VALID_ADDRESS = "123 Main Street #0505";
private static final String VALID_EMAIL = "[email protected]";
private static final String VALID_TAG_1 = "friend";
private static final String VALID_TAG_2 = "neighbour";
private static final String VALID_DESCRIPTION = "sleep";
private static final String VALID_START_DATE = "2023-01-01 08:00";
private static final String VALID_END_DATE = "2023-01-01 09:00";

private static final String WHITESPACE = " \t\r\n";

Expand Down Expand Up @@ -193,4 +201,65 @@ public void parseTags_collectionWithValidTags_returnsTagSet() throws Exception {

assertEquals(expectedTagSet, actualTagSet);
}

@Test
public void parseEventDescription_null_throwsNullPointerException() {
assertThrows(NullPointerException.class, () -> ParserUtil.parseEventDescription(null));
}

@Test
public void parseEventDescription_invalidDescription_throwsParseException() {
assertThrows(ParseException.class, () -> ParserUtil.parseEventDescription(INVALID_DESCRIPTION));
}

@Test
public void parseEventDescription_validDescription_returnsDescription() throws Exception {
EventDescription actual = ParserUtil.parseEventDescription(VALID_DESCRIPTION);
EventDescription expected = new EventDescription(VALID_DESCRIPTION);

assertEquals(actual, expected);
}

@Test
public void parseEventPeriod_nullStart_throwsNullPointerException() {
assertThrows(NullPointerException.class, () -> ParserUtil.parseEventPeriod(null, VALID_END_DATE));
}

@Test
public void parseEventPeriod_nullEnd_throwsNullPointerException() {
assertThrows(NullPointerException.class, () -> ParserUtil.parseEventPeriod(VALID_START_DATE, null));
}

@Test
public void parseEventPeriod_nullStartAndEnd_throwsNullPointerException() {
assertThrows(NullPointerException.class, () -> ParserUtil.parseEventPeriod(null, null));
}

@Test
public void parseEventPeriod_InvalidStart_throwsParseException() {
assertThrows(ParseException.class, () -> ParserUtil.parseEventPeriod(INVALID_DATE, VALID_END_DATE));
}

@Test
public void parseEventPeriod_InvalidEnd_throwsParseException() {
assertThrows(ParseException.class, () -> ParserUtil.parseEventPeriod(VALID_START_DATE, INVALID_DATE));
}

@Test
public void parseEventPeriod_InvalidStartAndEnd_throwsParseException() {
assertThrows(ParseException.class, () -> ParserUtil.parseEventPeriod(INVALID_DATE, INVALID_DATE));
}

@Test
public void parseEventPeriod_EndBeforeStart_throwsParseException() {
assertThrows(ParseException.class, () -> ParserUtil.parseEventPeriod(VALID_END_DATE, VALID_START_DATE));
}

@Test
public void parseEventPeriod_validStartAndEnd_returnsValidEventPeriod() throws Exception {
EventPeriod actual = ParserUtil.parseEventPeriod(VALID_START_DATE, VALID_END_DATE);
EventPeriod expected = new EventPeriod(VALID_START_DATE, VALID_END_DATE);

assertEquals(actual, expected);
}
}

0 comments on commit 16ee959

Please sign in to comment.