From fea8167cda0330224ede4f07931a8839bf106096 Mon Sep 17 00:00:00 2001 From: kohkaijie Date: Wed, 8 Nov 2023 15:21:16 +0800 Subject: [PATCH 1/9] Fix bug relating to sample data Fixed a bug caused by the sample data having an invalid tag value for one of the patients. This caused an exception each time the sample data is reloaded after exiting the app. Changed the tag to a valid one which should fix the aforementioned issue completely. --- src/main/java/seedu/address/model/util/SampleDataUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 0cffd2dcb88..2ab58e94d91 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -62,7 +62,7 @@ EMPTY_REMARK, new Gender("M"), new Ic("S1111114Z"), new Condition("Unknown"), new Patient(new Name("Irfan Ibrahim"), new Phone("92492021"), new Phone("87438807"), new Email("irfan@example.com"), new Address("Blk 47 Tampines Street 20, #17-35"), EMPTY_REMARK, new Gender("M"), new Ic("S1111115Z"), new Condition("Unknown"), new BloodType("O+"), - EMPTY_APPOINTMENTS, getTagSet("priority: Low")), + EMPTY_APPOINTMENTS, getTagSet("priority: LOW")), new Patient(new Name("Roy Balakrishnan"), new Phone("92624417"), new Phone("87438807"), new Email("royb@example.com"), new Address("Blk 45 Aljunied Street 85, #11-31"), EMPTY_REMARK, new Gender("M"), new Ic("S1111116Z"), new Condition("Unknown"), new BloodType("O+"), From 2a0e0fcc5c8c9b7a193e7cdf7c1e435543cb720f Mon Sep 17 00:00:00 2001 From: kohkaijie Date: Wed, 8 Nov 2023 16:53:30 +0800 Subject: [PATCH 2/9] Edit Develop Guide Modified DG to update DeleteSequenceDiagram to delete a person based on NRIC instead of Index. Also added Use Case for UndoCommand. --- docs/DeveloperGuide.md | 35 +++++++++++++++++- docs/diagrams/DeleteSequenceDiagram.puml | 8 ++-- .../tracing/DeleteSequenceDiagram.png | Bin 0 -> 31111 bytes docs/images/DeleteSequenceDiagram.png | Bin 28536 -> 31111 bytes 4 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 docs/diagrams/tracing/DeleteSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 3c4d14fab90..204a91bde68 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -129,7 +129,7 @@ Here's a (partial) class diagram of the `Logic` component: -The sequence diagram below illustrates the interactions within the `Logic` component, taking `execute("delete 1")` API +The sequence diagram below illustrates the interactions within the `Logic` component, taking `execute("delete NRIC")` API call as an example. ![Interactions Inside the Logic Component for the `delete 1` Command](images/DeleteSequenceDiagram.png) @@ -618,6 +618,39 @@ otherwise) Use case resumes at step 2. +* 4b. The edited fields include invalid inputs. + + * 4b1. Medilink Contacts shows an error message. + + Use case resumes at step 2. + +**Use case: UC5 - Undo a command** + +**MSS** + +1. User requests to delete a specific person in the list. +2. Medilink Contacts deletes the person. +3. User realises mistake, requests to undo previous action. +4. Medilink Contacts reverts to state before patient was deleted. + + Use case ends. + +**Extensions** + +* 4a. User wants to redo the command. + + * 4a1. User requests to redo last command. + * 4a2. MediLink Contacts reverts to state where patient was deleted. + + Use case ends. + +* 4b. User wants to perform another undo when there are no further actions to be undone. + + * 4b1. User requests to undo again. + * 4b2. Medilink Contacts shows an error message. + + Use case ends. + ### Non-Functional Requirements 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. diff --git a/docs/diagrams/DeleteSequenceDiagram.puml b/docs/diagrams/DeleteSequenceDiagram.puml index 40ea6c9dc4c..6e80f62c935 100644 --- a/docs/diagrams/DeleteSequenceDiagram.puml +++ b/docs/diagrams/DeleteSequenceDiagram.puml @@ -14,10 +14,10 @@ box Model MODEL_COLOR_T1 participant ":Model" as Model MODEL_COLOR end box -[-> LogicManager : execute("delete 1") +[-> LogicManager : execute("delete NRIC") activate LogicManager -LogicManager -> AddressBookParser : parseCommand("delete 1") +LogicManager -> AddressBookParser : parseCommand("delete NRIC") activate AddressBookParser create DeleteCommandParser @@ -27,7 +27,7 @@ activate DeleteCommandParser DeleteCommandParser --> AddressBookParser deactivate DeleteCommandParser -AddressBookParser -> DeleteCommandParser : parse("1") +AddressBookParser -> DeleteCommandParser : parse("NRIC") activate DeleteCommandParser create DeleteCommand @@ -49,7 +49,7 @@ deactivate AddressBookParser LogicManager -> DeleteCommand : execute() activate DeleteCommand -DeleteCommand -> Model : deletePerson(1) +DeleteCommand -> Model : deletePerson(NRIC) activate Model Model --> DeleteCommand diff --git a/docs/diagrams/tracing/DeleteSequenceDiagram.png b/docs/diagrams/tracing/DeleteSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..580f7e1c222e64ee9b926383a54dc296b4407407 GIT binary patch literal 31111 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 literal 0 HcmV?d00001 diff --git a/docs/images/DeleteSequenceDiagram.png b/docs/images/DeleteSequenceDiagram.png index e186f7ba096d726f50dd333915c852deeda4b28a..580f7e1c222e64ee9b926383a54dc296b4407407 100644 GIT binary patch literal 31111 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 literal 28536 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 Nlg1WCg~u-k{133EV@?17 From b7bdecbe696990ad77915cffea2a0190d672b2f0 Mon Sep 17 00:00:00 2001 From: kohkaijie Date: Wed, 8 Nov 2023 17:44:08 +0800 Subject: [PATCH 3/9] Update PPP Updated my Project Portfolio Page to meet the specified requirements, and ensured it contains the correct link to my RepoSense page. --- docs/team/kohkaijie.md | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/docs/team/kohkaijie.md b/docs/team/kohkaijie.md index 4c242ce1785..c0b327899b4 100644 --- a/docs/team/kohkaijie.md +++ b/docs/team/kohkaijie.md @@ -3,44 +3,45 @@ layout: page title: Kai Jie's Project Portfolio Page --- -### Project: AddressBook Level 3 +### Project: MediLink Contacts -AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. +MediLink Contacts aims to help medical staff including nurses/doctors/pharmacists navigate through patient details in +their high workload and time-pressured working environment. When medical emergencies arise, it becomes crucial to +provide rapid access to emergency contacts for patients and access other details of the patients to make decisions more +quickly. It is optimised for CLI so that users can quickly access the information. There is also a GUI created with +JavaFX. Given below are my contributions to the project. -* **New Feature**: Added the ability to undo/redo previous commands. +* **New Feature**: Added the ability to undo/redo previous commands (done with Tanveer). * What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. * Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. * Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. - * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* -* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys. +* **New Feature**: Allowed only specific tags to be added for patients and doctors respectively. + * What it does: restricts the user to only enter specific tags for patients and doctors. Patients can only have up to one tag specifying their priority level. Doctors can have up to multiple tags specifying their specialisations. + * Justification: This feature ensures that tags have a clear purpose and users cannot enter tags that do not add value to the patient or doctor (e.g adding Engineer tag for a doctor). + * Highlights: While this enhancement itself did not affect much other commands, the implementation itself was challenging as it required choosing between different implementation methods, and choosing the most future-proof and OOP-friendly one. -* **Code contributed**: [RepoSense link]() +* **Code contributed**: [Link to TP code dashboard](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=kohkaijie&breakdown=false&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos) * **Project management**: - * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub + * Managed releases `v1.1` - `v1.3` (3 releases) on GitHub + * Added issues on GitHub for various tasks. * **Enhancements to existing features**: - * Updated the GUI color scheme (Pull requests [\#33](), [\#34]()) - * Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]()) + * Created classes for new fields for Patient and Doctor classes. + * Wrote additional tests for existing features such as Patient fields, UndoCommand and Tags. * **Documentation**: * User Guide: - * Added documentation for the features `delete` and `find` [\#72]() - * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]() + * Added documentation for the features `delete` and usage of special tags. * Developer Guide: * Added implementation details of the `delete` feature. + * Modified UML diagram for DeleteSequenceDiagram. + * Added Use Case for UndoCommand and extensions for EditCommand. -* **Community**: - * PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]() - * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]()) - * Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]()) - * Some parts of the history feature I added was adopted by several other class mates ([1](), [2]()) +* **Team-based tasks**: + * Reviewed PRs and approved when needed for merging. -* **Tools**: - * Integrated a third party library (Natty) to the project ([\#42]()) - * Integrated a new Github plugin (CircleCI) to the team repo -* _{you can add/remove categories in the list above}_ From 9fc88826bbacb667338a4e138e15e773f97194cf Mon Sep 17 00:00:00 2001 From: chonguschonguschongus Date: Wed, 8 Nov 2023 20:52:55 +0800 Subject: [PATCH 4/9] Add test cases for UniqueAppointmentList, UniqueDoctorList, UniquePatientList --- .../person/UniqueAppointmentListTest.java | 141 ++++++++++++++ .../model/person/UniqueDoctorListTest.java | 176 ++++++++++++++++++ .../model/person/UniquePatientListTest.java | 174 +++++++++++++++++ 3 files changed, 491 insertions(+) create mode 100644 src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java create mode 100644 src/test/java/seedu/address/model/person/UniqueDoctorListTest.java create mode 100644 src/test/java/seedu/address/model/person/UniquePatientListTest.java diff --git a/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java b/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java new file mode 100644 index 00000000000..fd10c76cbdc --- /dev/null +++ b/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java @@ -0,0 +1,141 @@ +package seedu.address.model.person; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static seedu.address.testutil.Assert.assertThrows; +import static seedu.address.testutil.TypicalAppointment.APPOINTMENT_1; +import static seedu.address.testutil.TypicalAppointment.APPOINTMENT_2; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.junit.jupiter.api.Test; + +import seedu.address.model.appointment.Appointment; +import seedu.address.model.person.exceptions.DuplicateObjectException; +import seedu.address.model.person.exceptions.ObjectNotFoundException; + +public class UniqueAppointmentListTest { + + private final UniqueAppointmentList UniqueAppointmentList = new UniqueAppointmentList(); + + @Test + public void contains_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.contains(null)); + } + + @Test + public void contains_personNotInList_returnsFalse() { + assertFalse(UniqueAppointmentList.contains(APPOINTMENT_1)); + } + + @Test + public void contains_personInList_returnsTrue() { + UniqueAppointmentList.add(APPOINTMENT_1); + assertTrue(UniqueAppointmentList.contains(APPOINTMENT_1)); + } + + @Test + public void add_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.add(null)); + } + + @Test + public void add_duplicatePerson_throwsDuplicateAppointmentException() { + UniqueAppointmentList.add(APPOINTMENT_1); + assertThrows(DuplicateObjectException.class, () -> UniqueAppointmentList.add(APPOINTMENT_1)); + } + + @Test + public void setObject_nullTargetAppointment_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setObject(null, APPOINTMENT_2)); + } + + @Test + public void setObject_nullEditedAppointment_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setObject(APPOINTMENT_1, + null)); + } + + @Test + public void setObject_targetPersonNotInList_throwsObjectNotFoundException() { + assertThrows(ObjectNotFoundException.class, () -> UniqueAppointmentList.setObject(APPOINTMENT_1, + APPOINTMENT_1)); + } + + @Test + public void setObject_editedPersonIsSamePerson_success() { + UniqueAppointmentList.add(APPOINTMENT_1); + UniqueAppointmentList.setObject(APPOINTMENT_1, APPOINTMENT_1); + UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); + expectedUniqueAppointmentList.add(APPOINTMENT_1); + assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + } + + @Test + public void remove_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.remove(null)); + } + + @Test + public void remove_personDoesNotExist_throwsObjectNotFoundException() { + assertThrows(ObjectNotFoundException.class, () -> UniqueAppointmentList.remove(APPOINTMENT_1)); + } + + @Test + public void remove_existingPerson_removesPerson() { + UniqueAppointmentList.add(APPOINTMENT_1); + UniqueAppointmentList.remove(APPOINTMENT_1); + UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); + assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + } + + @Test + public void setPersons_nullUniqueAppointmentList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setAppointments((UniqueAppointmentList) null)); + } + + @Test + public void setObjects_UniqueAppointmentList_replacesOwnListWithProvidedUniqueAppointmentList() { + UniqueAppointmentList.add(APPOINTMENT_1); + UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); + expectedUniqueAppointmentList.add(APPOINTMENT_2); + UniqueAppointmentList.setAppointments(expectedUniqueAppointmentList); + assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + } + + @Test + public void setPersons_nullList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setObjects((List) null)); + } + + @Test + public void setObjects_list_replacesOwnListWithProvidedList() { + UniqueAppointmentList.add(APPOINTMENT_1); + List AppointmentList = Collections.singletonList(APPOINTMENT_1); + UniqueAppointmentList.setObjects(AppointmentList); + UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); + expectedUniqueAppointmentList.add(APPOINTMENT_1); + assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + } + + @Test + public void setObjects_listWithDuplicatePersons_throwsDuplicateObjectException() { + List listWithDuplicateAppointments = Arrays.asList(APPOINTMENT_1, APPOINTMENT_1); + assertThrows(DuplicateObjectException.class, () -> UniqueAppointmentList.setObjects(listWithDuplicateAppointments)); + } + + @Test + public void asUnmodifiableObservableList_modifyList_throwsUnsupportedOperationException() { + assertThrows(UnsupportedOperationException.class, () + -> UniqueAppointmentList.asUnmodifiableObservableList().remove(0)); + } + + @Test + public void toStringMethod() { + assertEquals(UniqueAppointmentList.asUnmodifiableObservableList().toString(), UniqueAppointmentList.toString()); + } +} + diff --git a/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java b/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java new file mode 100644 index 00000000000..855c93c9de4 --- /dev/null +++ b/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java @@ -0,0 +1,176 @@ +package seedu.address.model.person; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_DEREK; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_CARDIOLOGIST; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_MEDIUM; +import static seedu.address.testutil.Assert.assertThrows; +import static seedu.address.testutil.TypicalDoctor.ALICE; +import static seedu.address.testutil.TypicalDoctor.BOYD; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.junit.jupiter.api.Test; + +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.testutil.DoctorBuilder; + +public class UniqueDoctorListTest { + + private final UniqueDoctorList UniqueDoctorList = new UniqueDoctorList(); + + @Test + public void contains_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.contains(null)); + } + + @Test + public void contains_personNotInList_returnsFalse() { + assertFalse(UniqueDoctorList.contains(ALICE)); + } + + @Test + public void contains_personInList_returnsTrue() { + UniqueDoctorList.add(ALICE); + assertTrue(UniqueDoctorList.contains(ALICE)); + } + + @Test + public void contains_personWithSameIdentityFieldsInList_returnsTrue() { + UniqueDoctorList.add(ALICE); + Doctor editedALICE = new DoctorBuilder(ALICE).withAddress(VALID_ADDRESS_DEREK).withTags(VALID_TAG_CARDIOLOGIST) + .build(); + assertTrue(UniqueDoctorList.contains(editedALICE)); + } + + @Test + public void add_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.add(null)); + } + + @Test + public void add_duplicatePerson_throwsDuplicatePersonException() { + UniqueDoctorList.add(ALICE); + assertThrows(DuplicatePersonException.class, () -> UniqueDoctorList.add(ALICE)); + } + + @Test + public void setObject_nullTargetPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.setObject(null, ALICE)); + } + + @Test + public void setObject_nullEditedPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.setObject(ALICE, null)); + } + + @Test + public void setObject_targetPersonNotInList_throwsPersonNotFoundException() { + assertThrows(PersonNotFoundException.class, () -> UniqueDoctorList.setObject(ALICE, ALICE)); + } + + @Test + public void setObject_editedPersonIsSamePerson_success() { + UniqueDoctorList.add(ALICE); + UniqueDoctorList.setObject(ALICE, ALICE); + UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); + expectedUniqueDoctorList.add(ALICE); + assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + } + + @Test + public void setObject_editedPersonHasSameIdentity_success() { + UniqueDoctorList.add(ALICE); + Doctor editedALICE = new DoctorBuilder(ALICE).withAddress(VALID_ADDRESS_DEREK).withTags(VALID_TAG_MEDIUM) + .build(); + UniqueDoctorList.setObject(ALICE, editedALICE); + UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); + expectedUniqueDoctorList.add(editedALICE); + assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + } + + @Test + public void setObject_editedPersonHasDifferentIdentity_success() { + UniqueDoctorList.add(ALICE); + UniqueDoctorList.setObject(ALICE, BOYD); + UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); + expectedUniqueDoctorList.add(BOYD); + assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + } + + @Test + public void setObject_editedPersonHasNonUniqueIdentity_throwsDuplicatePersonException() { + UniqueDoctorList.add(ALICE); + UniqueDoctorList.add(BOYD); + assertThrows(DuplicatePersonException.class, () -> UniqueDoctorList.setObject(ALICE, BOYD)); + } + + @Test + public void remove_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.remove(null)); + } + + @Test + public void remove_personDoesNotExist_throwsPersonNotFoundException() { + assertThrows(PersonNotFoundException.class, () -> UniqueDoctorList.remove(ALICE)); + } + + @Test + public void remove_existingPerson_removesPerson() { + UniqueDoctorList.add(ALICE); + UniqueDoctorList.remove(ALICE); + UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); + assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + } + + @Test + public void setPersons_nullUniqueDoctorList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.setDoctors((UniqueDoctorList) null)); + } + + @Test + public void setPersons_UniqueDoctorList_replacesOwnListWithProvidedUniqueDoctorList() { + UniqueDoctorList.add(ALICE); + UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); + expectedUniqueDoctorList.add(BOYD); + UniqueDoctorList.setDoctors(expectedUniqueDoctorList); + assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + } + + @Test + public void setPersons_nullList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniqueDoctorList.setObjects((List) null)); + } + + @Test + public void setObjects_list_replacesOwnListWithProvidedList() { + UniqueDoctorList.add(ALICE); + List DoctorList = Collections.singletonList(BOYD); + UniqueDoctorList.setObjects(DoctorList); + UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); + expectedUniqueDoctorList.add(BOYD); + assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + } + + @Test + public void setObjects_listWithDuplicatePersons_throwsDuplicatePersonException() { + List listWithDuplicateDoctors = Arrays.asList(ALICE, ALICE); + assertThrows(DuplicatePersonException.class, () -> UniqueDoctorList.setObjects(listWithDuplicateDoctors)); + } + + @Test + public void asUnmodifiableObservableList_modifyList_throwsUnsupportedOperationException() { + assertThrows(UnsupportedOperationException.class, () + -> UniqueDoctorList.asUnmodifiableObservableList().remove(0)); + } + + @Test + public void toStringMethod() { + assertEquals(UniqueDoctorList.asUnmodifiableObservableList().toString(), UniqueDoctorList.toString()); + } +} diff --git a/src/test/java/seedu/address/model/person/UniquePatientListTest.java b/src/test/java/seedu/address/model/person/UniquePatientListTest.java new file mode 100644 index 00000000000..b2a3068cdf2 --- /dev/null +++ b/src/test/java/seedu/address/model/person/UniquePatientListTest.java @@ -0,0 +1,174 @@ +package seedu.address.model.person; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_MEDIUM; +import static seedu.address.testutil.Assert.assertThrows; +import static seedu.address.testutil.TypicalPatient.AMY; +import static seedu.address.testutil.TypicalPatient.BOB; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.junit.jupiter.api.Test; + +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.testutil.PatientBuilder; + +public class UniquePatientListTest { + + private final UniquePatientList UniquePatientList = new UniquePatientList(); + + @Test + public void contains_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.contains(null)); + } + + @Test + public void contains_personNotInList_returnsFalse() { + assertFalse(UniquePatientList.contains(AMY)); + } + + @Test + public void contains_personInList_returnsTrue() { + UniquePatientList.add(AMY); + assertTrue(UniquePatientList.contains(AMY)); + } + + @Test + public void contains_personWithSameIdentityFieldsInList_returnsTrue() { + UniquePatientList.add(AMY); + Patient editedAMY = new PatientBuilder(AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_MEDIUM).build(); + assertTrue(UniquePatientList.contains(editedAMY)); + } + + @Test + public void add_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.add(null)); + } + + @Test + public void add_duplicatePerson_throwsDuplicatePersonException() { + UniquePatientList.add(AMY); + assertThrows(DuplicatePersonException.class, () -> UniquePatientList.add(AMY)); + } + + @Test + public void setObject_nullTargetPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.setObject(null, AMY)); + } + + @Test + public void setObject_nullEditedPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.setObject(AMY, null)); + } + + @Test + public void setObject_targetPersonNotInList_throwsPersonNotFoundException() { + assertThrows(PersonNotFoundException.class, () -> UniquePatientList.setObject(AMY, AMY)); + } + + @Test + public void setObject_editedPersonIsSamePerson_success() { + UniquePatientList.add(AMY); + UniquePatientList.setObject(AMY, AMY); + UniquePatientList expectedUniquePatientList = new UniquePatientList(); + expectedUniquePatientList.add(AMY); + assertEquals(expectedUniquePatientList, UniquePatientList); + } + + @Test + public void setObject_editedPersonHasSameIdentity_success() { + UniquePatientList.add(AMY); + Patient editedAMY = new PatientBuilder(AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_MEDIUM) + .build(); + UniquePatientList.setObject(AMY, editedAMY); + UniquePatientList expectedUniquePatientList = new UniquePatientList(); + expectedUniquePatientList.add(editedAMY); + assertEquals(expectedUniquePatientList, UniquePatientList); + } + + @Test + public void setObject_editedPersonHasDifferentIdentity_success() { + UniquePatientList.add(AMY); + UniquePatientList.setObject(AMY, BOB); + UniquePatientList expectedUniquePatientList = new UniquePatientList(); + expectedUniquePatientList.add(BOB); + assertEquals(expectedUniquePatientList, UniquePatientList); + } + + @Test + public void setObject_editedPersonHasNonUniqueIdentity_throwsDuplicatePersonException() { + UniquePatientList.add(AMY); + UniquePatientList.add(BOB); + assertThrows(DuplicatePersonException.class, () -> UniquePatientList.setObject(AMY, BOB)); + } + + @Test + public void remove_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.remove(null)); + } + + @Test + public void remove_personDoesNotExist_throwsPersonNotFoundException() { + assertThrows(PersonNotFoundException.class, () -> UniquePatientList.remove(AMY)); + } + + @Test + public void remove_existingPerson_removesPerson() { + UniquePatientList.add(AMY); + UniquePatientList.remove(AMY); + UniquePatientList expectedUniquePatientList = new UniquePatientList(); + assertEquals(expectedUniquePatientList, UniquePatientList); + } + + @Test + public void setPersons_nullUniquePatientList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.setPersons((UniquePatientList) null)); + } + + @Test + public void setPersons_UniquePatientList_replacesOwnListWithProvidedUniquePatientList() { + UniquePatientList.add(AMY); + UniquePatientList expectedUniquePatientList = new UniquePatientList(); + expectedUniquePatientList.add(BOB); + UniquePatientList.setPersons(expectedUniquePatientList); + assertEquals(expectedUniquePatientList, UniquePatientList); + } + + @Test + public void setPersons_nullList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> UniquePatientList.setObjects((List) null)); + } + + @Test + public void setObjects_list_replacesOwnListWithProvidedList() { + UniquePatientList.add(AMY); + List patientList = Collections.singletonList(BOB); + UniquePatientList.setObjects(patientList); + UniquePatientList expectedUniquePatientList = new UniquePatientList(); + expectedUniquePatientList.add(BOB); + assertEquals(expectedUniquePatientList, UniquePatientList); + } + + @Test + public void setObjects_listWithDuplicatePersons_throwsDuplicatePersonException() { + List listWithDuplicatePatients = Arrays.asList(AMY, AMY); + assertThrows(DuplicatePersonException.class, () -> UniquePatientList.setObjects(listWithDuplicatePatients)); + } + + @Test + public void asUnmodifiableObservableList_modifyList_throwsUnsupportedOperationException() { + assertThrows(UnsupportedOperationException.class, () + -> UniquePatientList.asUnmodifiableObservableList().remove(0)); + } + + @Test + public void toStringMethod() { + assertEquals(UniquePatientList.asUnmodifiableObservableList().toString(), UniquePatientList.toString()); + } +} From a0f2059a77cc32b48d9d5819062f38d4d183687a Mon Sep 17 00:00:00 2001 From: chonguschonguschongus Date: Wed, 8 Nov 2023 21:18:23 +0800 Subject: [PATCH 5/9] Fix checkstyle --- .../model/appointment/Appointment.java | 1 + .../person/UniqueAppointmentListTest.java | 90 +++++++++--------- .../model/person/UniqueDoctorListTest.java | 92 +++++++++--------- .../model/person/UniquePatientListTest.java | 94 +++++++++---------- 4 files changed, 140 insertions(+), 137 deletions(-) diff --git a/src/main/java/seedu/address/model/appointment/Appointment.java b/src/main/java/seedu/address/model/appointment/Appointment.java index 770fc86995e..b702ab733af 100644 --- a/src/main/java/seedu/address/model/appointment/Appointment.java +++ b/src/main/java/seedu/address/model/appointment/Appointment.java @@ -63,6 +63,7 @@ public Ic getPatient() { } public void setAppointmentTime(AppointmentTime appointmentTime) { + this.appointmentTime = appointmentTime; } public void changeDoctor(Ic newDoctorIc) { diff --git a/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java b/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java index fd10c76cbdc..aa8aeb225b7 100644 --- a/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java +++ b/src/test/java/seedu/address/model/person/UniqueAppointmentListTest.java @@ -19,123 +19,125 @@ public class UniqueAppointmentListTest { - private final UniqueAppointmentList UniqueAppointmentList = new UniqueAppointmentList(); + private final UniqueAppointmentList uniqueAppointmentList = new UniqueAppointmentList(); @Test - public void contains_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.contains(null)); + public void contains_nullAppointment_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> uniqueAppointmentList.contains(null)); } @Test - public void contains_personNotInList_returnsFalse() { - assertFalse(UniqueAppointmentList.contains(APPOINTMENT_1)); + public void contains_appointmentNotInList_returnsFalse() { + assertFalse(uniqueAppointmentList.contains(APPOINTMENT_1)); } @Test - public void contains_personInList_returnsTrue() { - UniqueAppointmentList.add(APPOINTMENT_1); - assertTrue(UniqueAppointmentList.contains(APPOINTMENT_1)); + public void contains_appointmentInList_returnsTrue() { + uniqueAppointmentList.add(APPOINTMENT_1); + assertTrue(uniqueAppointmentList.contains(APPOINTMENT_1)); } @Test - public void add_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.add(null)); + public void add_nullAppointment_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> uniqueAppointmentList.add(null)); } @Test - public void add_duplicatePerson_throwsDuplicateAppointmentException() { - UniqueAppointmentList.add(APPOINTMENT_1); - assertThrows(DuplicateObjectException.class, () -> UniqueAppointmentList.add(APPOINTMENT_1)); + public void add_duplicateAppointment_throwsDuplicateAppointmentException() { + uniqueAppointmentList.add(APPOINTMENT_1); + assertThrows(DuplicateObjectException.class, () -> uniqueAppointmentList.add(APPOINTMENT_1)); } @Test public void setObject_nullTargetAppointment_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setObject(null, APPOINTMENT_2)); + assertThrows(NullPointerException.class, () -> uniqueAppointmentList.setObject(null, APPOINTMENT_2)); } @Test public void setObject_nullEditedAppointment_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setObject(APPOINTMENT_1, + assertThrows(NullPointerException.class, () -> uniqueAppointmentList.setObject(APPOINTMENT_1, null)); } @Test - public void setObject_targetPersonNotInList_throwsObjectNotFoundException() { - assertThrows(ObjectNotFoundException.class, () -> UniqueAppointmentList.setObject(APPOINTMENT_1, + public void setObject_targetAppointmentNotInList_throwsObjectNotFoundException() { + assertThrows(ObjectNotFoundException.class, () -> uniqueAppointmentList.setObject(APPOINTMENT_1, APPOINTMENT_1)); } @Test - public void setObject_editedPersonIsSamePerson_success() { - UniqueAppointmentList.add(APPOINTMENT_1); - UniqueAppointmentList.setObject(APPOINTMENT_1, APPOINTMENT_1); + public void setObject_editedAppointmentIsSameAppointment_success() { + uniqueAppointmentList.add(APPOINTMENT_1); + uniqueAppointmentList.setObject(APPOINTMENT_1, APPOINTMENT_1); UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); expectedUniqueAppointmentList.add(APPOINTMENT_1); - assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + assertEquals(expectedUniqueAppointmentList, uniqueAppointmentList); } @Test - public void remove_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.remove(null)); + public void remove_nullAppointment_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> uniqueAppointmentList.remove(null)); } @Test - public void remove_personDoesNotExist_throwsObjectNotFoundException() { - assertThrows(ObjectNotFoundException.class, () -> UniqueAppointmentList.remove(APPOINTMENT_1)); + public void remove_appointmentDoesNotExist_throwsObjectNotFoundException() { + assertThrows(ObjectNotFoundException.class, () -> uniqueAppointmentList.remove(APPOINTMENT_1)); } @Test - public void remove_existingPerson_removesPerson() { - UniqueAppointmentList.add(APPOINTMENT_1); - UniqueAppointmentList.remove(APPOINTMENT_1); + public void remove_existingAppointment_removesAppointment() { + uniqueAppointmentList.add(APPOINTMENT_1); + uniqueAppointmentList.remove(APPOINTMENT_1); UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); - assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + assertEquals(expectedUniqueAppointmentList, uniqueAppointmentList); } @Test - public void setPersons_nullUniqueAppointmentList_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setAppointments((UniqueAppointmentList) null)); + public void setAppointments_nullUniqueAppointmentList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> + uniqueAppointmentList.setAppointments((UniqueAppointmentList) null)); } @Test - public void setObjects_UniqueAppointmentList_replacesOwnListWithProvidedUniqueAppointmentList() { - UniqueAppointmentList.add(APPOINTMENT_1); + public void setAppointments_uniqueAppointmentList_replacesOwnListWithProvidedUniqueAppointmentList() { + uniqueAppointmentList.add(APPOINTMENT_1); UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); expectedUniqueAppointmentList.add(APPOINTMENT_2); - UniqueAppointmentList.setAppointments(expectedUniqueAppointmentList); - assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + uniqueAppointmentList.setAppointments(expectedUniqueAppointmentList); + assertEquals(expectedUniqueAppointmentList, uniqueAppointmentList); } @Test - public void setPersons_nullList_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueAppointmentList.setObjects((List) null)); + public void setObjects_nullList_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> uniqueAppointmentList.setObjects((List) null)); } @Test public void setObjects_list_replacesOwnListWithProvidedList() { - UniqueAppointmentList.add(APPOINTMENT_1); - List AppointmentList = Collections.singletonList(APPOINTMENT_1); - UniqueAppointmentList.setObjects(AppointmentList); + uniqueAppointmentList.add(APPOINTMENT_1); + List appointmentList = Collections.singletonList(APPOINTMENT_1); + uniqueAppointmentList.setObjects(appointmentList); UniqueAppointmentList expectedUniqueAppointmentList = new UniqueAppointmentList(); expectedUniqueAppointmentList.add(APPOINTMENT_1); - assertEquals(expectedUniqueAppointmentList, UniqueAppointmentList); + assertEquals(expectedUniqueAppointmentList, uniqueAppointmentList); } @Test public void setObjects_listWithDuplicatePersons_throwsDuplicateObjectException() { List listWithDuplicateAppointments = Arrays.asList(APPOINTMENT_1, APPOINTMENT_1); - assertThrows(DuplicateObjectException.class, () -> UniqueAppointmentList.setObjects(listWithDuplicateAppointments)); + assertThrows(DuplicateObjectException.class, () -> + uniqueAppointmentList.setObjects(listWithDuplicateAppointments)); } @Test public void asUnmodifiableObservableList_modifyList_throwsUnsupportedOperationException() { assertThrows(UnsupportedOperationException.class, () - -> UniqueAppointmentList.asUnmodifiableObservableList().remove(0)); + -> uniqueAppointmentList.asUnmodifiableObservableList().remove(0)); } @Test public void toStringMethod() { - assertEquals(UniqueAppointmentList.asUnmodifiableObservableList().toString(), UniqueAppointmentList.toString()); + assertEquals(uniqueAppointmentList.asUnmodifiableObservableList().toString(), uniqueAppointmentList.toString()); } } diff --git a/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java b/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java index 855c93c9de4..ef24f5a0257 100644 --- a/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java +++ b/src/test/java/seedu/address/model/person/UniqueDoctorListTest.java @@ -22,155 +22,155 @@ public class UniqueDoctorListTest { - private final UniqueDoctorList UniqueDoctorList = new UniqueDoctorList(); + private final UniqueDoctorList uniqueDoctorList = new UniqueDoctorList(); @Test public void contains_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.contains(null)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.contains(null)); } @Test public void contains_personNotInList_returnsFalse() { - assertFalse(UniqueDoctorList.contains(ALICE)); + assertFalse(uniqueDoctorList.contains(ALICE)); } @Test public void contains_personInList_returnsTrue() { - UniqueDoctorList.add(ALICE); - assertTrue(UniqueDoctorList.contains(ALICE)); + uniqueDoctorList.add(ALICE); + assertTrue(uniqueDoctorList.contains(ALICE)); } @Test public void contains_personWithSameIdentityFieldsInList_returnsTrue() { - UniqueDoctorList.add(ALICE); - Doctor editedALICE = new DoctorBuilder(ALICE).withAddress(VALID_ADDRESS_DEREK).withTags(VALID_TAG_CARDIOLOGIST) + uniqueDoctorList.add(ALICE); + Doctor editedAlice = new DoctorBuilder(ALICE).withAddress(VALID_ADDRESS_DEREK).withTags(VALID_TAG_CARDIOLOGIST) .build(); - assertTrue(UniqueDoctorList.contains(editedALICE)); + assertTrue(uniqueDoctorList.contains(editedAlice)); } @Test public void add_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.add(null)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.add(null)); } @Test public void add_duplicatePerson_throwsDuplicatePersonException() { - UniqueDoctorList.add(ALICE); - assertThrows(DuplicatePersonException.class, () -> UniqueDoctorList.add(ALICE)); + uniqueDoctorList.add(ALICE); + assertThrows(DuplicatePersonException.class, () -> uniqueDoctorList.add(ALICE)); } @Test public void setObject_nullTargetPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.setObject(null, ALICE)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.setObject(null, ALICE)); } @Test public void setObject_nullEditedPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.setObject(ALICE, null)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.setObject(ALICE, null)); } @Test public void setObject_targetPersonNotInList_throwsPersonNotFoundException() { - assertThrows(PersonNotFoundException.class, () -> UniqueDoctorList.setObject(ALICE, ALICE)); + assertThrows(PersonNotFoundException.class, () -> uniqueDoctorList.setObject(ALICE, ALICE)); } @Test public void setObject_editedPersonIsSamePerson_success() { - UniqueDoctorList.add(ALICE); - UniqueDoctorList.setObject(ALICE, ALICE); + uniqueDoctorList.add(ALICE); + uniqueDoctorList.setObject(ALICE, ALICE); UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); expectedUniqueDoctorList.add(ALICE); - assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + assertEquals(expectedUniqueDoctorList, uniqueDoctorList); } @Test public void setObject_editedPersonHasSameIdentity_success() { - UniqueDoctorList.add(ALICE); - Doctor editedALICE = new DoctorBuilder(ALICE).withAddress(VALID_ADDRESS_DEREK).withTags(VALID_TAG_MEDIUM) + uniqueDoctorList.add(ALICE); + Doctor editedAlice = new DoctorBuilder(ALICE).withAddress(VALID_ADDRESS_DEREK).withTags(VALID_TAG_MEDIUM) .build(); - UniqueDoctorList.setObject(ALICE, editedALICE); + uniqueDoctorList.setObject(ALICE, editedAlice); UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); - expectedUniqueDoctorList.add(editedALICE); - assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + expectedUniqueDoctorList.add(editedAlice); + assertEquals(expectedUniqueDoctorList, uniqueDoctorList); } @Test public void setObject_editedPersonHasDifferentIdentity_success() { - UniqueDoctorList.add(ALICE); - UniqueDoctorList.setObject(ALICE, BOYD); + uniqueDoctorList.add(ALICE); + uniqueDoctorList.setObject(ALICE, BOYD); UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); expectedUniqueDoctorList.add(BOYD); - assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + assertEquals(expectedUniqueDoctorList, uniqueDoctorList); } @Test public void setObject_editedPersonHasNonUniqueIdentity_throwsDuplicatePersonException() { - UniqueDoctorList.add(ALICE); - UniqueDoctorList.add(BOYD); - assertThrows(DuplicatePersonException.class, () -> UniqueDoctorList.setObject(ALICE, BOYD)); + uniqueDoctorList.add(ALICE); + uniqueDoctorList.add(BOYD); + assertThrows(DuplicatePersonException.class, () -> uniqueDoctorList.setObject(ALICE, BOYD)); } @Test public void remove_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.remove(null)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.remove(null)); } @Test public void remove_personDoesNotExist_throwsPersonNotFoundException() { - assertThrows(PersonNotFoundException.class, () -> UniqueDoctorList.remove(ALICE)); + assertThrows(PersonNotFoundException.class, () -> uniqueDoctorList.remove(ALICE)); } @Test public void remove_existingPerson_removesPerson() { - UniqueDoctorList.add(ALICE); - UniqueDoctorList.remove(ALICE); + uniqueDoctorList.add(ALICE); + uniqueDoctorList.remove(ALICE); UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); - assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + assertEquals(expectedUniqueDoctorList, uniqueDoctorList); } @Test public void setPersons_nullUniqueDoctorList_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.setDoctors((UniqueDoctorList) null)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.setDoctors((UniqueDoctorList) null)); } @Test - public void setPersons_UniqueDoctorList_replacesOwnListWithProvidedUniqueDoctorList() { - UniqueDoctorList.add(ALICE); + public void setPersons_uniqueDoctorList_replacesOwnListWithProvidedUniqueDoctorList() { + uniqueDoctorList.add(ALICE); UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); expectedUniqueDoctorList.add(BOYD); - UniqueDoctorList.setDoctors(expectedUniqueDoctorList); - assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + uniqueDoctorList.setDoctors(expectedUniqueDoctorList); + assertEquals(expectedUniqueDoctorList, uniqueDoctorList); } @Test public void setPersons_nullList_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniqueDoctorList.setObjects((List) null)); + assertThrows(NullPointerException.class, () -> uniqueDoctorList.setObjects((List) null)); } @Test public void setObjects_list_replacesOwnListWithProvidedList() { - UniqueDoctorList.add(ALICE); - List DoctorList = Collections.singletonList(BOYD); - UniqueDoctorList.setObjects(DoctorList); + uniqueDoctorList.add(ALICE); + List doctorList = Collections.singletonList(BOYD); + uniqueDoctorList.setObjects(doctorList); UniqueDoctorList expectedUniqueDoctorList = new UniqueDoctorList(); expectedUniqueDoctorList.add(BOYD); - assertEquals(expectedUniqueDoctorList, UniqueDoctorList); + assertEquals(expectedUniqueDoctorList, uniqueDoctorList); } @Test public void setObjects_listWithDuplicatePersons_throwsDuplicatePersonException() { List listWithDuplicateDoctors = Arrays.asList(ALICE, ALICE); - assertThrows(DuplicatePersonException.class, () -> UniqueDoctorList.setObjects(listWithDuplicateDoctors)); + assertThrows(DuplicatePersonException.class, () -> uniqueDoctorList.setObjects(listWithDuplicateDoctors)); } @Test public void asUnmodifiableObservableList_modifyList_throwsUnsupportedOperationException() { assertThrows(UnsupportedOperationException.class, () - -> UniqueDoctorList.asUnmodifiableObservableList().remove(0)); + -> uniqueDoctorList.asUnmodifiableObservableList().remove(0)); } @Test public void toStringMethod() { - assertEquals(UniqueDoctorList.asUnmodifiableObservableList().toString(), UniqueDoctorList.toString()); + assertEquals(uniqueDoctorList.asUnmodifiableObservableList().toString(), uniqueDoctorList.toString()); } } diff --git a/src/test/java/seedu/address/model/person/UniquePatientListTest.java b/src/test/java/seedu/address/model/person/UniquePatientListTest.java index b2a3068cdf2..046e93e8927 100644 --- a/src/test/java/seedu/address/model/person/UniquePatientListTest.java +++ b/src/test/java/seedu/address/model/person/UniquePatientListTest.java @@ -21,154 +21,154 @@ public class UniquePatientListTest { - private final UniquePatientList UniquePatientList = new UniquePatientList(); + private final UniquePatientList uniquePatientList = new UniquePatientList(); @Test public void contains_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.contains(null)); + assertThrows(NullPointerException.class, () -> uniquePatientList.contains(null)); } @Test public void contains_personNotInList_returnsFalse() { - assertFalse(UniquePatientList.contains(AMY)); + assertFalse(uniquePatientList.contains(AMY)); } @Test public void contains_personInList_returnsTrue() { - UniquePatientList.add(AMY); - assertTrue(UniquePatientList.contains(AMY)); + uniquePatientList.add(AMY); + assertTrue(uniquePatientList.contains(AMY)); } @Test - public void contains_personWithSameIdentityFieldsInList_returnsTrue() { - UniquePatientList.add(AMY); - Patient editedAMY = new PatientBuilder(AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_MEDIUM).build(); - assertTrue(UniquePatientList.contains(editedAMY)); + public void add_nullPerson_throwsNullPointerException() { + assertThrows(NullPointerException.class, () -> uniquePatientList.add(null)); } @Test - public void add_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.add(null)); + public void contains_personWithSameIdentityFieldsInList_returnsTrue() { + uniquePatientList.add(AMY); + Patient editedAmy = new PatientBuilder(AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_MEDIUM).build(); + assertTrue(uniquePatientList.contains(editedAmy)); } @Test public void add_duplicatePerson_throwsDuplicatePersonException() { - UniquePatientList.add(AMY); - assertThrows(DuplicatePersonException.class, () -> UniquePatientList.add(AMY)); + uniquePatientList.add(AMY); + assertThrows(DuplicatePersonException.class, () -> uniquePatientList.add(AMY)); } @Test public void setObject_nullTargetPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.setObject(null, AMY)); + assertThrows(NullPointerException.class, () -> uniquePatientList.setObject(null, AMY)); } @Test public void setObject_nullEditedPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.setObject(AMY, null)); + assertThrows(NullPointerException.class, () -> uniquePatientList.setObject(AMY, null)); } @Test public void setObject_targetPersonNotInList_throwsPersonNotFoundException() { - assertThrows(PersonNotFoundException.class, () -> UniquePatientList.setObject(AMY, AMY)); + assertThrows(PersonNotFoundException.class, () -> uniquePatientList.setObject(AMY, AMY)); } @Test public void setObject_editedPersonIsSamePerson_success() { - UniquePatientList.add(AMY); - UniquePatientList.setObject(AMY, AMY); + uniquePatientList.add(AMY); + uniquePatientList.setObject(AMY, AMY); UniquePatientList expectedUniquePatientList = new UniquePatientList(); expectedUniquePatientList.add(AMY); - assertEquals(expectedUniquePatientList, UniquePatientList); + assertEquals(expectedUniquePatientList, uniquePatientList); } @Test public void setObject_editedPersonHasSameIdentity_success() { - UniquePatientList.add(AMY); - Patient editedAMY = new PatientBuilder(AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_MEDIUM) + uniquePatientList.add(AMY); + Patient editedAmy = new PatientBuilder(AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_MEDIUM) .build(); - UniquePatientList.setObject(AMY, editedAMY); + uniquePatientList.setObject(AMY, editedAmy); UniquePatientList expectedUniquePatientList = new UniquePatientList(); - expectedUniquePatientList.add(editedAMY); - assertEquals(expectedUniquePatientList, UniquePatientList); + expectedUniquePatientList.add(editedAmy); + assertEquals(expectedUniquePatientList, uniquePatientList); } @Test public void setObject_editedPersonHasDifferentIdentity_success() { - UniquePatientList.add(AMY); - UniquePatientList.setObject(AMY, BOB); + uniquePatientList.add(AMY); + uniquePatientList.setObject(AMY, BOB); UniquePatientList expectedUniquePatientList = new UniquePatientList(); expectedUniquePatientList.add(BOB); - assertEquals(expectedUniquePatientList, UniquePatientList); + assertEquals(expectedUniquePatientList, uniquePatientList); } @Test public void setObject_editedPersonHasNonUniqueIdentity_throwsDuplicatePersonException() { - UniquePatientList.add(AMY); - UniquePatientList.add(BOB); - assertThrows(DuplicatePersonException.class, () -> UniquePatientList.setObject(AMY, BOB)); + uniquePatientList.add(AMY); + uniquePatientList.add(BOB); + assertThrows(DuplicatePersonException.class, () -> uniquePatientList.setObject(AMY, BOB)); } @Test public void remove_nullPerson_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.remove(null)); + assertThrows(NullPointerException.class, () -> uniquePatientList.remove(null)); } @Test public void remove_personDoesNotExist_throwsPersonNotFoundException() { - assertThrows(PersonNotFoundException.class, () -> UniquePatientList.remove(AMY)); + assertThrows(PersonNotFoundException.class, () -> uniquePatientList.remove(AMY)); } @Test public void remove_existingPerson_removesPerson() { - UniquePatientList.add(AMY); - UniquePatientList.remove(AMY); + uniquePatientList.add(AMY); + uniquePatientList.remove(AMY); UniquePatientList expectedUniquePatientList = new UniquePatientList(); - assertEquals(expectedUniquePatientList, UniquePatientList); + assertEquals(expectedUniquePatientList, uniquePatientList); } @Test public void setPersons_nullUniquePatientList_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.setPersons((UniquePatientList) null)); + assertThrows(NullPointerException.class, () -> uniquePatientList.setPersons((UniquePatientList) null)); } @Test - public void setPersons_UniquePatientList_replacesOwnListWithProvidedUniquePatientList() { - UniquePatientList.add(AMY); + public void setPersons_uniquePatientList_replacesOwnListWithProvidedUniquePatientList() { + uniquePatientList.add(AMY); UniquePatientList expectedUniquePatientList = new UniquePatientList(); expectedUniquePatientList.add(BOB); - UniquePatientList.setPersons(expectedUniquePatientList); - assertEquals(expectedUniquePatientList, UniquePatientList); + uniquePatientList.setPersons(expectedUniquePatientList); + assertEquals(expectedUniquePatientList, uniquePatientList); } @Test public void setPersons_nullList_throwsNullPointerException() { - assertThrows(NullPointerException.class, () -> UniquePatientList.setObjects((List) null)); + assertThrows(NullPointerException.class, () -> uniquePatientList.setObjects((List) null)); } @Test public void setObjects_list_replacesOwnListWithProvidedList() { - UniquePatientList.add(AMY); + uniquePatientList.add(AMY); List patientList = Collections.singletonList(BOB); - UniquePatientList.setObjects(patientList); + uniquePatientList.setObjects(patientList); UniquePatientList expectedUniquePatientList = new UniquePatientList(); expectedUniquePatientList.add(BOB); - assertEquals(expectedUniquePatientList, UniquePatientList); + assertEquals(expectedUniquePatientList, uniquePatientList); } @Test public void setObjects_listWithDuplicatePersons_throwsDuplicatePersonException() { List listWithDuplicatePatients = Arrays.asList(AMY, AMY); - assertThrows(DuplicatePersonException.class, () -> UniquePatientList.setObjects(listWithDuplicatePatients)); + assertThrows(DuplicatePersonException.class, () -> uniquePatientList.setObjects(listWithDuplicatePatients)); } @Test public void asUnmodifiableObservableList_modifyList_throwsUnsupportedOperationException() { assertThrows(UnsupportedOperationException.class, () - -> UniquePatientList.asUnmodifiableObservableList().remove(0)); + -> uniquePatientList.asUnmodifiableObservableList().remove(0)); } @Test public void toStringMethod() { - assertEquals(UniquePatientList.asUnmodifiableObservableList().toString(), UniquePatientList.toString()); + assertEquals(uniquePatientList.asUnmodifiableObservableList().toString(), uniquePatientList.toString()); } } From 4388dd9095ea2ac76025d437aa898db3c30818ff Mon Sep 17 00:00:00 2001 From: kohkaijie Date: Wed, 8 Nov 2023 21:46:10 +0800 Subject: [PATCH 6/9] Fix minor bug Changed method in setAppointTime to solve failing test case. --- src/main/java/seedu/address/model/appointment/Appointment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/address/model/appointment/Appointment.java b/src/main/java/seedu/address/model/appointment/Appointment.java index 770fc86995e..b702ab733af 100644 --- a/src/main/java/seedu/address/model/appointment/Appointment.java +++ b/src/main/java/seedu/address/model/appointment/Appointment.java @@ -63,6 +63,7 @@ public Ic getPatient() { } public void setAppointmentTime(AppointmentTime appointmentTime) { + this.appointmentTime = appointmentTime; } public void changeDoctor(Ic newDoctorIc) { From 105c600da6037adfc88998a3bdac95b99ffb9e10 Mon Sep 17 00:00:00 2001 From: chonguschonguschongus Date: Thu, 9 Nov 2023 13:54:16 +0800 Subject: [PATCH 7/9] Update PPP --- docs/team/chonguschonguschongus.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/team/chonguschonguschongus.md b/docs/team/chonguschonguschongus.md index 9bd998f41b3..1e8a10ab3ed 100644 --- a/docs/team/chonguschonguschongus.md +++ b/docs/team/chonguschonguschongus.md @@ -3,19 +3,22 @@ layout: page title: Isaac's Project Portfolio Page --- -### Project: AddressBook Level 3 +### Project: MediLink Contacts -AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. +MediLink Contacts aims to help medical staff including nurses/doctors/pharmacists navigate through patient details in +their high workload and time-pressured working environment. When medical emergencies arise, it becomes crucial to +provide rapid access to emergency contacts for patients and access other details of the patients to make decisions more +quickly. It is optimised for CLI so that users can quickly access the information. There is also a GUI created with +JavaFX. Given below are my contributions to the project. -* **New Feature**: Added the ability to undo/redo previous commands. - * What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. - * Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. - * Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. - * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* - -* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys. +* **New Feature**: Enhanced the Find feature to function with NRIC, blood type, gender as well as name. + * What it does: Allows users to search for Patients/Doctors by their NRIC, blood type, gender or simply name + * Justification: Users can search by a specific attribute, increasing convenience + +* **New Feature**: Added a Find Appointment function to locate a specific appointment by NRIC of people involved +* **New Feature** Added a Delete Appointment function to delete a specific appointment by NRIC of people involved * **Code contributed**: [RepoSense link]() @@ -23,13 +26,13 @@ Given below are my contributions to the project. * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub * **Enhancements to existing features**: + * Wrote an abstract UniqueObjectList that can be inherited to form UniqueLists of Patients, Doctors and Appointments * Updated the GUI color scheme (Pull requests [\#33](), [\#34]()) - * Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]()) + * Wrote additional tests for existing features (Pull requests [\#36](), [\#38]()) * **Documentation**: * User Guide: - * Added documentation for the features `delete` and `find` [\#72]() - * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]() + * Added documentation for the features `find`, `delete-appt`, `find-appt` [\#72]() * Developer Guide: * Added implementation details of the `delete` feature. From c07ab8a97802a9b1a7a24e104c9306dde1db3c40 Mon Sep 17 00:00:00 2001 From: Mohammed-Faizzzz <110959467+Mohammed-Faizzzz@users.noreply.github.com> Date: Thu, 9 Nov 2023 17:16:24 +0800 Subject: [PATCH 8/9] Update PPP --- docs/team/mohammed-faizzzz.md | 57 +++++++++++++++++------------------ 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/docs/team/mohammed-faizzzz.md b/docs/team/mohammed-faizzzz.md index ca486714437..3f45243817d 100644 --- a/docs/team/mohammed-faizzzz.md +++ b/docs/team/mohammed-faizzzz.md @@ -3,44 +3,41 @@ layout: page title: Faiz's Project Portfolio Page --- -### Project: AddressBook Level 3 +### Project: MediLink Contacts -AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. +MediLink Contacts aims to help medical staff including nurses/doctors navigate through patient details in +their high workload and time-pressured working environment. When medical emergencies arise, it becomes crucial to +provide rapid access to emergency contacts for patients and access other details of the patients to make decisions more +quickly. It is optimised for CLI so that users can quickly access the information. There is also a GUI created with +JavaFX. Given below are my contributions to the project. -* **New Feature**: Added the ability to undo/redo previous commands. - * What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. - * Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. - * Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. - * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* +* **Code contributed**: + [Link to TP code dashboard](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=Faiz&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code&since=2023-09-22) -* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys. - -* **Code contributed**: [RepoSense link]() +* **New Feature**: Created new Doctor class + * Adapted UI and Storage to store Doctors instead of Person + * Changed Person card to Doctor card so that it can get displayed on the UI + * Modified UI to also display Doctors as a List alongside the Patients +* **New Feature**: Modified current add person command to add new Doctor class +* **New Feature**: Created a new Class Appointment to represent an Appointment between a pre-existing Doctor and Patient + * Added `new-appt` command to add new Appointment +* **New Feature**: Updated part of the sample data to include the new features * **Project management**: - * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub + * Managed milestones and issues + * Did Peer Reviews on other teammates' Pull Requests + * Resolved Merge Conflicts where applicable * **Enhancements to existing features**: - * Updated the GUI color scheme (Pull requests [\#33](), [\#34]()) - * Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]()) + * (to be added soon) * **Documentation**: - * User Guide: - * Added documentation for the features `delete` and `find` [\#72]() - * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]() - * Developer Guide: - * Added implementation details of the `delete` feature. - -* **Community**: - * PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]() - * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]()) - * Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]()) - * Some parts of the history feature I added was adopted by several other class mates ([1](), [2]()) - -* **Tools**: - * Integrated a third party library (Natty) to the project ([\#42]()) - * Integrated a new Github plugin (CircleCI) to the team repo - -* _{you can add/remove categories in the list above}_ + * User Guide: + * Updated existing content to our project + * Added the section on adding new doctors + * Added the section on adding new appointments + * Proofread other sections and added the commands/sample commands to a summary table. + + From 2a387e5d805c9c8bf429ec5d769b545181a98898 Mon Sep 17 00:00:00 2001 From: chonguschonguschongus Date: Thu, 9 Nov 2023 17:44:05 +0800 Subject: [PATCH 9/9] Update UG --- docs/UserGuide.md | 60 +++++++++++++++++------ docs/images/findpickettpickensresult.png | Bin 0 -> 242506 bytes 2 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 docs/images/findpickettpickensresult.png diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5f285caff14..f8426de48aa 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -126,7 +126,7 @@ Format: `add-patient n/NAME ic/IC g/GENDER p/PHONE_NUMBER ec/EMERGENCY_CONTACT e - A patient **MUST** have a non-empty NAME and a valid IC at the very least. Failure to include these details may result in an error. - Phone Numbers and Emails have to be in a valid format. - - PHONE_NUMBER must have exactly 8 digits. + - PHONE_NUMBER must have at least 3 digits - EMAIL must contain email domain (eg. `@gmail.com`). - TAG must indicate Priority Level of the Patient and be one of the following: - Low @@ -235,7 +235,7 @@ Examples: ### Locating persons by name: `find` -Finds persons that match the query. Supports gender, NRIC and name. +Finds persons that match the query. Format: `find KEYWORD [MORE_KEYWORDS]` @@ -244,26 +244,56 @@ Format: `find KEYWORD [MORE_KEYWORDS]` * When searching names, only full words will be matched e.g. `Han` will not match `Hans` * When searching names, Persons matching at least one keyword will be returned (i.e. `OR` search). e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` -* Other supported attributes like NRIC, Gender and Blood Type will only handle one query `KEYWORD`, anything afterward - is discarded. -* Below we have supported attributes and their example `KEYWORD`. +* Note that if the name coincides with other find commands, it will be interpreted as the other find command first and extraneous paremeters will be ignored. e.g. `find F Kennedy John` will search for all female persons. * It is recommended to use `list` to restore the view of all data after a `find` command - | Attribute | Example keywords | - |-----------|-----------------| - | NRIC | T1125957G | - | Gender | M | - | Blood Type | Blood Type A+ | - | Name | Travis Kelce - Examples: * `find John` returns `john` and `John Doe` -* `find alex david` returns `Alex Yeoh`, `David Li`
- ![result for 'find alex david'](images/findAlexDavidResult.png) -* `find T1125726G` returns the person with the matching NRIC. +* `find kenny pickens` returns `Kenny Pickett`, `George Pickens`
+ ![result for 'find alex david'](images/findpickettpickensresult.png) + + +### Locating a person by NRIC : `find` ### + +Finds person that matches the NRIC query + +Format: `find NRIC` + +* NRIC input must be capitalised! +* It is recommended to use `list` to restore the view of all data after a `find` command + +Examples: + +* `find T1125726G` returns the person with the matching NRIC + +### Locating people by gender : `find M`, `find F` ### + +Finds all persons with matching gender + +Format: `find M` or `find F` + +* M and F must be capitalised +* It is recommended to use `list` to restore the view of all data after a `find` command + +Examples: + * `find M` returns all male persons. +### Locating people by blood types : `find Blood Type` ### + +Finds all Patients with query blood type + +Format: `find Blood Type QUERY` + +* All blood type inputs must be capitalised +* Acceptable blood types are A, A+, B, B+, O, O+, AB and AB+ +* It is recommended to use `list` to restore the view of all data after a `find` command + +Examples: + +* `find Blood Type A+` returns all Patients with blood type A+ + ### Deleting a person : `delete` Deletes the specified person from the address book. diff --git a/docs/images/findpickettpickensresult.png b/docs/images/findpickettpickensresult.png new file mode 100644 index 0000000000000000000000000000000000000000..2684da25f548d7ffa828b1ed6ce8f6b88c6d51a0 GIT binary patch literal 242506 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
qd4U-e5(;WOdJ*sR{Mt=Q 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

Ak3IQFNa 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%0D;$p)H{8 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 literal 0 HcmV?d00001