Skip to content

Commit

Permalink
Refactor GroupName to GroupNumber
Browse files Browse the repository at this point in the history
  • Loading branch information
nguyiyang committed Oct 26, 2021
1 parent e0c88bb commit 6926a70
Show file tree
Hide file tree
Showing 12 changed files with 87 additions and 87 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import seedu.address.logic.commands.AddGroupCommand;
import seedu.address.logic.parser.exceptions.ParseException;
import seedu.address.model.student.ClassCode;
import seedu.address.model.tutorialgroup.GroupName;
import seedu.address.model.tutorialgroup.GroupNumber;
import seedu.address.model.tutorialgroup.GroupType;
import seedu.address.model.tutorialgroup.TutorialGroup;

Expand All @@ -30,11 +30,11 @@ public AddGroupCommand parse(String args) throws ParseException {
throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddGroupCommand.MESSAGE_USAGE));
}

GroupName groupName = ParserUtil.parseGroupName(argMultimap.getValue(PREFIX_GROUPNAME).get());
GroupNumber groupNumber = ParserUtil.parseGroupName(argMultimap.getValue(PREFIX_GROUPNAME).get());
ClassCode classCode = ParserUtil.parseClassCode(argMultimap.getValue(PREFIX_CLASSCODE).get());
GroupType groupType = ParserUtil.parseGroupType(argMultimap.getValue(PREFIX_TYPE).get());

TutorialGroup tutorialGroup = new TutorialGroup(groupName, classCode, groupType);
TutorialGroup tutorialGroup = new TutorialGroup(groupNumber, classCode, groupType);

return new AddGroupCommand(tutorialGroup);

Expand Down
10 changes: 5 additions & 5 deletions src/main/java/seedu/address/logic/parser/ParserUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import seedu.address.model.student.StudentMark;
import seedu.address.model.tag.Tag;
import seedu.address.model.tutorialclass.Schedule;
import seedu.address.model.tutorialgroup.GroupName;
import seedu.address.model.tutorialgroup.GroupNumber;
import seedu.address.model.tutorialgroup.GroupType;

/**
Expand Down Expand Up @@ -151,13 +151,13 @@ public static Schedule parseSchedule(String schedule) throws ParseException {
* Leading and trailing whitespaces will be trimmed.
* @throws ParseException if the given {@code schedule} is invalid.
*/
public static GroupName parseGroupName(String groupName) throws ParseException {
public static GroupNumber parseGroupName(String groupName) throws ParseException {
requireNonNull(groupName);
String trimmedGroupName = groupName.trim();
if (!GroupName.isValidGroupName(groupName)) {
throw new ParseException(GroupName.MESSAGE_CONSTRAINTS);
if (!GroupNumber.isValidGroupName(groupName)) {
throw new ParseException(GroupNumber.MESSAGE_CONSTRAINTS);
}
return new GroupName(trimmedGroupName);
return new GroupNumber(trimmedGroupName);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import static java.util.Objects.requireNonNull;
import static seedu.address.commons.util.AppUtil.checkArgument;

public class GroupName implements Comparable<GroupName> {
public class GroupNumber implements Comparable<GroupNumber> {
public static final String MESSAGE_CONSTRAINTS = "GroupName must be a single digit, and it should not be blank";

private static final String GROUPNAME_REGEX = "\\d";
Expand All @@ -16,7 +16,7 @@ public class GroupName implements Comparable<GroupName> {
*
* @param groupName A valid groupName.
*/
public GroupName (String groupName) {
public GroupNumber(String groupName) {
requireNonNull(groupName);
checkArgument(isValidGroupName(groupName), MESSAGE_CONSTRAINTS);
value = groupName;
Expand Down Expand Up @@ -44,8 +44,8 @@ public String toString() {
@Override
public boolean equals(Object other) {
return other == this // short circuit if same object
|| (other instanceof GroupName // instanceof handles nulls
&& value.equals(((GroupName) other).value)); // state check
|| (other instanceof GroupNumber // instanceof handles nulls
&& value.equals(((GroupNumber) other).value)); // state check
}

@Override
Expand All @@ -54,8 +54,8 @@ public int hashCode() {
}

@Override
public int compareTo(GroupName groupName) {
return parseGroupName(this.value).compareTo(parseGroupName(groupName.value));
public int compareTo(GroupNumber groupNumber) {
return parseGroupName(this.value).compareTo(parseGroupName(groupNumber.value));
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@

public class TutorialGroup {

private final GroupName groupName;
private final GroupNumber groupNumber;
private final ClassCode classCode;
private final GroupType groupType;

/**
* @param groupName GroupName of Tutorial Group.
* @param groupNumber GroupName of Tutorial Group.
* @param classCode ClassCode of Tutorial Group.
*/
public TutorialGroup(GroupName groupName, ClassCode classCode, GroupType groupType) {
this.groupName = groupName;
public TutorialGroup(GroupNumber groupNumber, ClassCode classCode, GroupType groupType) {
this.groupNumber = groupNumber;
this.classCode = classCode;
this.groupType = groupType;

}

public GroupName getGroupName() {
return groupName;
public GroupNumber getGroupName() {
return groupNumber;
}

public ClassCode getClassCode() {
Expand Down Expand Up @@ -67,7 +67,7 @@ public boolean equals(Object other) {

@Override
public int hashCode() {
return Objects.hash(groupName, classCode, groupType);
return Objects.hash(groupNumber, classCode, groupType);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import seedu.address.commons.exceptions.IllegalValueException;
import seedu.address.model.student.ClassCode;
import seedu.address.model.tag.Tag;
import seedu.address.model.tutorialgroup.GroupName;
import seedu.address.model.tutorialgroup.GroupNumber;
import seedu.address.model.tutorialgroup.GroupType;
import seedu.address.model.tutorialgroup.TutorialGroup;

Expand Down Expand Up @@ -56,19 +56,19 @@ public TutorialGroup toModelType() throws IllegalValueException {

if (groupName == null) {
throw new IllegalValueException(
String.format(MISSING_FIELD_MESSAGE_FORMAT, GroupName.class.getSimpleName())
String.format(MISSING_FIELD_MESSAGE_FORMAT, GroupNumber.class.getSimpleName())
);
}

final GroupName modelGroupName = new GroupName(groupName);
final GroupNumber modelGroupNumber = new GroupNumber(groupName);

if (groupType == null) {
throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, String.class.getSimpleName()));
}

final GroupType modelGroupType = new GroupType(groupType);

return new TutorialGroup(modelGroupName, modelClassCode, modelGroupType);
return new TutorialGroup(modelGroupNumber, modelClassCode, modelGroupType);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ public void execute_duplicateTutorialGroup_throwsCommandException() {

@Test
public void equals() {
TutorialGroup a = new TutorialGroupBuilder().withClassCode("a").build();
TutorialGroup b = new TutorialGroupBuilder().withClassCode("b").build();
TutorialGroup a = new TutorialGroupBuilder().withClassCode("G01").build();
TutorialGroup b = new TutorialGroupBuilder().withClassCode("G02").build();

AddGroupCommand addACommand = new AddGroupCommand(a);
AddGroupCommand addBCommand = new AddGroupCommand(b);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.junit.jupiter.api.Test;

import seedu.address.logic.commands.AddGroupCommand;
import seedu.address.model.tutorialgroup.GroupName;
import seedu.address.model.tutorialgroup.GroupNumber;
import seedu.address.model.tutorialgroup.GroupType;
import seedu.address.model.tutorialgroup.TutorialGroup;
import seedu.address.testutil.TutorialGroupBuilder;
Expand Down Expand Up @@ -78,15 +78,15 @@ public void parse_invalidValue_failure() {

// invalid group name
assertParseFailure(parser, INVALID_GROUPNAME_DESC + CLASSCODE_DESC_G01 + GROUPTYPE_DESC_OP1,
GroupName.MESSAGE_CONSTRAINTS);
GroupNumber.MESSAGE_CONSTRAINTS);

// invalid group type
assertParseFailure(parser, GROUPNAME_DESC_1 + CLASSCODE_DESC_G01 + INVALID_GROUPTYPE_DESC,
GroupType.MESSAGE_CONSTRAINTS);

// two invalid values, only first invalid value reported
assertParseFailure(parser, INVALID_GROUPNAME_DESC + CLASSCODE_DESC_G01 + INVALID_GROUPTYPE_DESC,
GroupName.MESSAGE_CONSTRAINTS);
GroupNumber.MESSAGE_CONSTRAINTS);

// preamble not empty
assertParseFailure(parser, PREAMBLE_NON_EMPTY + CLASSCODE_DESC_G01 + GROUPNAME_DESC_1 + GROUPTYPE_DESC_OP1,
Expand Down
40 changes: 0 additions & 40 deletions src/test/java/seedu/address/model/tutorialgroup/GroupNameTest.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package seedu.address.model.tutorialgroup;

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static seedu.address.testutil.Assert.assertThrows;

import org.junit.jupiter.api.Test;


public class GroupNumberTest {

@Test
public void constructor_null_throwsNullPointerException() {
assertThrows(NullPointerException.class, () -> new GroupNumber(null));
}

@Test
public void constructor_invalidName_throwsIllegalArgumentException() {
String invalidGroupName = "";
assertThrows(IllegalArgumentException.class, () -> new GroupNumber(invalidGroupName));
}

@Test
public void isValidName() {
// null group name
assertThrows(NullPointerException.class, () -> GroupNumber.isValidGroupName(null));

// invalid group name
assertFalse(GroupNumber.isValidGroupName("")); // empty string
assertFalse(GroupNumber.isValidGroupName(" ")); // spaces only
assertFalse(GroupNumber.isValidGroupName("^")); // only non-alphanumeric characters
assertFalse(GroupNumber.isValidGroupName("peter*")); // contains non-alphanumeric characters
assertFalse(GroupNumber.isValidGroupName("peter")); // contains alphabets
assertFalse(GroupNumber.isValidGroupName("12")); // contains more than one digit

// valid group name
assertTrue(GroupNumber.isValidGroupName("1")); // alphabets only
assertTrue(GroupNumber.isValidGroupName("2")); // numbers only
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static seedu.address.logic.commands.CommandTestUtil.VALID_CLASSCODE_G102;
import static seedu.address.logic.commands.CommandTestUtil.VALID_CLASSCODE_G01;
import static seedu.address.logic.commands.CommandTestUtil.VALID_CLASSCODE_G02;
import static seedu.address.logic.commands.CommandTestUtil.VALID_GROUPNAME_2;
import static seedu.address.logic.commands.CommandTestUtil.VALID_GROUPTYPE_OP2;
import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB;
import static seedu.address.testutil.TypicalTutorialGroups.TUT_01;
import static seedu.address.testutil.TypicalTutorialGroups.TUT_02;

Expand All @@ -29,17 +29,17 @@ public void isSameTutorialGroup() {
assertFalse(TUT_01.isSameTutorialGroup(editedTut01));

// same group name, all other attributes different -> returns false
editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G102)
editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G01)
.withGroupType(VALID_GROUPTYPE_OP2).build();
assertFalse(TUT_01.isSameTutorialGroup(editedTut01));

// same group type, all other attributes different -> returns false
editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G102)
editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G02)
.withGroupName(VALID_GROUPNAME_2).build();
assertFalse(TUT_01.isSameTutorialGroup(editedTut01));

// different class code, all other attributes same -> returns false
editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_NAME_BOB).build();
editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G02).build();
assertFalse(TUT_01.isSameTutorialGroup(editedTut01));

// different group name, all other attributes same -> returns false
Expand Down Expand Up @@ -70,7 +70,7 @@ public void equals() {
assertFalse(TUT_01.equals(TUT_02));

// different class code -> returns false
TutorialGroup editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G102).build();
TutorialGroup editedTut01 = new TutorialGroupBuilder(TUT_01).withClassCode(VALID_CLASSCODE_G02).build();
assertFalse(TUT_01.equals(editedTut01));

// different group name -> returns false
Expand Down
14 changes: 7 additions & 7 deletions src/test/java/seedu/address/testutil/TutorialGroupBuilder.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
package seedu.address.testutil;

import seedu.address.model.student.ClassCode;
import seedu.address.model.tutorialgroup.GroupName;
import seedu.address.model.tutorialgroup.GroupNumber;
import seedu.address.model.tutorialgroup.GroupType;
import seedu.address.model.tutorialgroup.TutorialGroup;

public class TutorialGroupBuilder {

public static final String DEFAULT_CLASSCODE = "G01";
public static final String DEFAULT_CLASSCODE = "G06";
public static final String DEFAULT_GROUPNAME = "1";
public static final String DEFAULT_GROUPTYPE = "OP1";

private ClassCode classCode;
private GroupName groupName;
private GroupNumber groupNumber;
private GroupType groupType;

/**
* Creates a {@code TutorialClassBuilder} with the default details.
*/
public TutorialGroupBuilder() {
classCode = new ClassCode(DEFAULT_CLASSCODE);
groupName = new GroupName(DEFAULT_GROUPNAME);
groupNumber = new GroupNumber(DEFAULT_GROUPNAME);
groupType = new GroupType(DEFAULT_GROUPTYPE);
}

Expand All @@ -29,7 +29,7 @@ public TutorialGroupBuilder() {
*/
public TutorialGroupBuilder(TutorialGroup tutorialGroupToCopy) {
classCode = tutorialGroupToCopy.getClassCode();
groupName = tutorialGroupToCopy.getGroupName();
groupNumber = tutorialGroupToCopy.getGroupName();
groupType = tutorialGroupToCopy.getGroupType();
}

Expand All @@ -45,7 +45,7 @@ public TutorialGroupBuilder withClassCode(String classCode) {
* Sets the {@code ClassCode} of the {@code TutorialClass} that we are building.
*/
public TutorialGroupBuilder withGroupName(String groupName) {
this.groupName = new GroupName(groupName);
this.groupNumber = new GroupNumber(groupName);
return this;
}

Expand All @@ -58,6 +58,6 @@ public TutorialGroupBuilder withGroupType(String groupType) {
}

public TutorialGroup build() {
return new TutorialGroup(groupName, classCode, groupType);
return new TutorialGroup(groupNumber, classCode, groupType);
}
}
Loading

0 comments on commit 6926a70

Please sign in to comment.