Skip to content

Commit

Permalink
Merge pull request #72 from Lalelulilulela/branch-fixEditCompanyNameBug
Browse files Browse the repository at this point in the history
Fix EditCompanyName bug
  • Loading branch information
Lalelulilulela authored Apr 2, 2024
2 parents 121a195 + a2e7c86 commit 7ac3b63
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public EditPersonDescriptor(EditPersonDescriptor toCopy) {
* Returns true if at least one field is edited.
*/
public boolean isAnyFieldEdited() {
return CollectionUtil.isAnyNonNull(name, phone, email, address, dateTime, salary, info, tags,
return CollectionUtil.isAnyNonNull(companyName, name, phone, email, address, dateTime, salary, info, tags,
programmingLanguages, priority);
}
public void setCompanyName(CompanyName companyName) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/seedu/address/logic/parser/ParserUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ public static Index parseIndex(String oneBasedIndex) throws ParseException {
public static CompanyName parseCompanyName(String companyName) throws ParseException {
requireNonNull(companyName);
String trimmedName = companyName.trim();
if (!CompanyName.isValidName(trimmedName)) {
throw new ParseException(Name.MESSAGE_CONSTRAINTS);
if (!CompanyName.isValidCompanyName(trimmedName)) {
throw new ParseException(CompanyName.MESSAGE_CONSTRAINTS);
}
return new CompanyName(trimmedName);
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/seedu/address/model/person/CompanyName.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

/**
* Represents a Company's name in the address book.
* Guarantees: immutable; is valid as declared in {@link #isValidName(String)}
* Guarantees: immutable; is valid as declared in {@link #isValidCompanyName(String)}
*/
public class CompanyName {

Expand All @@ -27,14 +27,14 @@ public class CompanyName {
*/
public CompanyName(String name) {
requireNonNull(name);
checkArgument(isValidName(name), MESSAGE_CONSTRAINTS);
checkArgument(isValidCompanyName(name), MESSAGE_CONSTRAINTS);
companyName = name;
}

/**
* Returns true if a given string is a valid company name.
*/
public static boolean isValidName(String test) {
public static boolean isValidCompanyName(String test) {
return test.length() <= 100 && test.matches(VALIDATION_REGEX);
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/seedu/address/storage/JsonAdaptedPerson.java
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ public Person toModelType() throws IllegalValueException {
throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT,
CompanyName.class.getSimpleName()));
}
if (!CompanyName.isValidName(companyName)) {
if (!CompanyName.isValidCompanyName(companyName)) {
throw new IllegalValueException(CompanyName.MESSAGE_CONSTRAINTS);
}
final CompanyName modelCompanyName = new CompanyName(companyName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
import seedu.address.logic.Messages;
import seedu.address.logic.commands.AddCommand;
import seedu.address.model.person.Address;
import seedu.address.model.person.CompanyName;
import seedu.address.model.person.Email;
import seedu.address.model.person.Name;
import seedu.address.model.person.Person;
Expand Down Expand Up @@ -191,7 +192,7 @@ public void parse_compulsoryFieldMissing_failure() {
public void parse_invalidValue_failure() {
// invalid company name
assertParseFailure(parser, INVALID_COMPANY_NAME_DESC + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB
+ ADDRESS_DESC_BOB + TAG_DESC_HUSBAND + TAG_DESC_FRIEND, Name.MESSAGE_CONSTRAINTS);
+ ADDRESS_DESC_BOB + TAG_DESC_HUSBAND + TAG_DESC_FRIEND, CompanyName.MESSAGE_CONSTRAINTS);

// invalid name
assertParseFailure(parser, COMPANY_NAME_DESC_BOB + INVALID_NAME_DESC + PHONE_DESC_BOB + EMAIL_DESC_BOB
Expand Down
23 changes: 13 additions & 10 deletions src/test/java/seedu/address/model/person/CompanyNameTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,24 @@ public void constructor_invalidName_throwsIllegalArgumentException() {
@Test
public void isValidName() {
// null name
assertThrows(NullPointerException.class, () -> CompanyName.isValidName(null));
assertThrows(NullPointerException.class, () -> CompanyName.isValidCompanyName(null));

// invalid name
assertFalse(CompanyName.isValidName("")); // empty string
assertFalse(CompanyName.isValidName(" ")); // spaces only
assertFalse(CompanyName.isValidName("123456789 123456789 123456789 123456789 123456789 123456789 123456789"
+ " 123456789 123456789 123456789 1")); // contains more than 100 chracters
assertFalse(CompanyName.isValidCompanyName("")); // empty string
assertFalse(CompanyName.isValidCompanyName(" ")); // spaces only
assertFalse(CompanyName.isValidCompanyName("123456789 123456789 123456789 123456789 123456789 123456789 "
+ "123456789 "
+ "123456789 123456789 123456789 1")); // contains more than 100 chracters


// valid name
assertTrue(CompanyName.isValidName("Google")); // alphabets only
assertTrue(CompanyName.isValidName("711")); // numbers only
assertTrue(CompanyName.isValidName("Capital Land")); // with capital letters
assertTrue(CompanyName.isValidName("S&P 500")); // with capital letters and non-alphanumeric characters
assertTrue(CompanyName.isValidName("Essilor International Compagnie Generale d'Optique SA")); // long names
assertTrue(CompanyName.isValidCompanyName("Google")); // alphabets only
assertTrue(CompanyName.isValidCompanyName("711")); // numbers only
assertTrue(CompanyName.isValidCompanyName("Capital Land")); // with capital letters
// with capital letters and non-alphanumeric characters
assertTrue(CompanyName.isValidCompanyName("S&P 500"));
// long names
assertTrue(CompanyName.isValidCompanyName("Essilor International Compagnie Generale d'Optique SA"));
}

@Test
Expand Down
22 changes: 21 additions & 1 deletion src/test/java/seedu/address/storage/JsonAdaptedPersonTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

import seedu.address.commons.exceptions.IllegalValueException;
import seedu.address.model.person.Address;
import seedu.address.model.person.CompanyName;
import seedu.address.model.person.Email;
import seedu.address.model.person.Name;
import seedu.address.model.person.Phone;
Expand Down Expand Up @@ -53,7 +54,26 @@ public void toModelType_validPersonDetails_returnsPerson() throws Exception {
JsonAdaptedPerson person = new JsonAdaptedPerson(BENSON);
assertEquals(BENSON, person.toModelType());
}

@Test
public void toModelType_invalidCompanyName_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(INVALID_COMPANY_NAME, VALID_NAME,
VALID_PHONE, VALID_EMAIL, VALID_ADDRESS,
VALID_INTERVIEWTIME, VALID_SALARY, VALID_INFO,
VALID_TAGS, VALID_PROGRAMMING_LANG, VALID_PRIORITY);
String expectedMessage = CompanyName.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
@Test
public void toModelType_nullCompanyName_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(null, VALID_NAME,
VALID_PHONE, VALID_EMAIL, VALID_ADDRESS,
VALID_INTERVIEWTIME, VALID_SALARY, VALID_INFO,
VALID_TAGS, VALID_PROGRAMMING_LANG, VALID_PRIORITY);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, CompanyName.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
@Test
public void toModelType_invalidName_throwsIllegalValueException() {
JsonAdaptedPerson person =
Expand Down

0 comments on commit 7ac3b63

Please sign in to comment.