Skip to content

Commit

Permalink
Update for symptom only
Browse files Browse the repository at this point in the history
  • Loading branch information
NatLeong committed Mar 20, 2024
1 parent 6d750fe commit b991194
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 15 deletions.
12 changes: 11 additions & 1 deletion src/main/java/seedu/address/storage/JsonAdaptedPerson.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import seedu.address.model.person.Phone;
import seedu.address.model.person.Sex;
import seedu.address.model.person.Status;
import seedu.address.model.person.Symptom;

/**
* Jackson-friendly version of {@link Person}.
Expand All @@ -42,6 +43,7 @@ class JsonAdaptedPerson {
private final Optional<String> condition;
private final Optional<String> dateOfAdmission;
private final Optional<String> diagnosis;
private final Optional<String> symptom;

/**
* Constructs a {@code JsonAdaptedPerson} with the given person details.
Expand All @@ -54,7 +56,8 @@ public JsonAdaptedPerson(@JsonProperty("nric") String nric, @JsonProperty("name"
@JsonProperty("country") String country, @JsonProperty("allergies") String allergies,
@JsonProperty("bloodType") String bloodType, @JsonProperty("condition") String condition,
@JsonProperty("dateOfAdmission") String doa,
@JsonProperty("diagnosis") String diagnosis) {
@JsonProperty("diagnosis") String diagnosis,
@JsonProperty("symptom") String symptom) {
this.nric = nric;
this.name = name;
this.phone = phone;
Expand All @@ -69,6 +72,7 @@ public JsonAdaptedPerson(@JsonProperty("nric") String nric, @JsonProperty("name"
this.condition = Optional.ofNullable(condition);
this.dateOfAdmission = Optional.ofNullable(doa);
this.diagnosis = Optional.ofNullable(diagnosis);
this.symptom = Optional.ofNullable(symptom);
}

/**
Expand All @@ -89,6 +93,7 @@ public JsonAdaptedPerson(Person source) {
this.condition = Optional.ofNullable(source.getCondition().toString());
this.dateOfAdmission = Optional.ofNullable(source.getDateOfAdmission().toString());
this.diagnosis = Optional.ofNullable(source.getDiagnosis().toString());
this.symptom = Optional.ofNullable(source.getSymptom().toString());
}

/**
Expand Down Expand Up @@ -196,6 +201,11 @@ public Person toModelType() throws IllegalValueException {
final Diagnosis modelDiagnosis = new Diagnosis(diagnosis.get());
person.setDiagnosis(modelDiagnosis);
}
//Symptom check
if (symptom.isPresent()) {
final Symptom modelSymptom = new Symptom(symptom.get());
person.setSymptom(modelSymptom);
}
return person;
}

Expand Down
43 changes: 29 additions & 14 deletions src/test/java/seedu/address/storage/JsonAdaptedPersonTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public class JsonAdaptedPersonTest {
private static final String VALID_CONDITION = "Diabetes";
private static final String VALID_DOA = "2024-01-01";
private static final String VALID_DIAGNOSIS = "Covid";
private static final String VALID_SYMPTOM = "Cough";

@Test
public void toModelType_validPersonDetails_returnsPerson() throws Exception {
Expand All @@ -51,7 +52,8 @@ public void toModelType_invalidNric_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(INVALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = Nric.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -61,7 +63,8 @@ public void toModelType_nullNric_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(null, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Name.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -70,7 +73,8 @@ public void toModelType_invalidName_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, INVALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = Name.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -80,7 +84,8 @@ public void toModelType_nullName_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, null, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Name.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -90,7 +95,8 @@ public void toModelType_invalidPhone_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, INVALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = Phone.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -100,7 +106,8 @@ public void toModelType_nullPhone_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, null,
VALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Phone.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -110,7 +117,8 @@ public void toModelType_invalidAddress_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
INVALID_ADDRESS, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = Address.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -120,7 +128,8 @@ public void toModelType_nullAddress_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
null, VALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -129,7 +138,8 @@ public void toModelType_invalidDob_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, INVALID_DOB, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = DateOfBirth.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -139,7 +149,8 @@ public void toModelType_nullDob_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, null, VALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -148,7 +159,8 @@ public void toModelType_invalidSex_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, INVALID_SEX, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = Sex.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -158,7 +170,8 @@ public void toModelType_nullSex_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, null, VALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -167,7 +180,8 @@ public void toModelType_invalidStatus_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, INVALID_STATUS, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = Status.MESSAGE_CONSTRAINTS;
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand All @@ -177,7 +191,8 @@ public void toModelType_nullStatus_throwsIllegalValueException() {
JsonAdaptedPerson person =
new JsonAdaptedPerson(VALID_NRIC, VALID_NAME, VALID_PHONE,
VALID_ADDRESS, VALID_DOB, VALID_SEX, null, VALID_EMAIL, VALID_COUNTRY,
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS);
VALID_ALLERGIES, VALID_BLOODTYPE, VALID_CONDITION, VALID_DOA, VALID_DIAGNOSIS,
VALID_SYMPTOM);
String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName());
assertThrows(IllegalValueException.class, expectedMessage, person::toModelType);
}
Expand Down

0 comments on commit b991194

Please sign in to comment.