From d2ba0b7e81c77c7820d6e0ceab8d18d3e7b16c55 Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Wed, 7 Feb 2018 12:26:31 +0800 Subject: [PATCH 1/8] Add Block.java, PostalCode.java, Street.java, Unit.java --- src/seedu/addressbook/data/person/Block.java | 58 ++++++++++++++++ .../addressbook/data/person/PostalCode.java | 58 ++++++++++++++++ src/seedu/addressbook/data/person/Street.java | 68 +++++++++++++++++++ src/seedu/addressbook/data/person/Unit.java | 59 ++++++++++++++++ 4 files changed, 243 insertions(+) create mode 100644 src/seedu/addressbook/data/person/Block.java create mode 100644 src/seedu/addressbook/data/person/PostalCode.java create mode 100644 src/seedu/addressbook/data/person/Street.java create mode 100644 src/seedu/addressbook/data/person/Unit.java diff --git a/src/seedu/addressbook/data/person/Block.java b/src/seedu/addressbook/data/person/Block.java new file mode 100644 index 000000000..7a5dd767d --- /dev/null +++ b/src/seedu/addressbook/data/person/Block.java @@ -0,0 +1,58 @@ +package seedu.addressbook.data.person; + +import seedu.addressbook.data.exception.IllegalValueException; + +/** + * Represents an Address's block number in the address book. + * Guarantees: immutable; is valid as declared in {@link #isValidBlock(String)} + */ +public class Block { + public static final String EXAMPLE = "123"; + public static final String MESSAGE_BLOCK_CONSTRAINTS = "Address block should only contain only numbers"; + public static final String BLOCK_VALIDATION_REGEX = "\\d+"; + + public final String value; + private boolean isPrivate; + + /** + * Validates given phone number. + * + * @throws IllegalValueException if given block string is invalid. + */ + public Block(String block, boolean isPrivate) throws IllegalValueException { + this.isPrivate = isPrivate; + String trimmedBlock = block.trim(); + if (!isValidBlock(trimmedBlock)) { + throw new IllegalValueException(MESSAGE_BLOCK_CONSTRAINTS); + } + this.value = trimmedBlock; + } + + /** + * Returns true if the given string is a valid address block number. + */ + public static boolean isValidBlock(String test) { + return test.matches(BLOCK_VALIDATION_REGEX); + } + + @Override + public String toString() { + return value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Block // instanceof handles nulls + && this.value.equals(((Block) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + + public boolean isPrivate() { + return isPrivate; + } +} diff --git a/src/seedu/addressbook/data/person/PostalCode.java b/src/seedu/addressbook/data/person/PostalCode.java new file mode 100644 index 000000000..fbfdc3187 --- /dev/null +++ b/src/seedu/addressbook/data/person/PostalCode.java @@ -0,0 +1,58 @@ +package seedu.addressbook.data.person; + +import seedu.addressbook.data.exception.IllegalValueException; + +/** + * Represents an Address's postal code in the address book. + * Guarantees: immutable; is valid as declared in {@link #isValidPostalCode(String)} + */ +public class PostalCode { + public static final String EXAMPLE = "#12-34"; + public static final String MESSAGE_POSTALCODE_CONSTRAINTS = "Address postal code should contain only numbers"; + public static final String POSTALCODE_VALIDATION_REGEX = "\\d+"; + + public final String value; + private boolean isPrivate; + + /** + * Validates given phone number. + * + * @throws IllegalValueException if given postal code string is invalid. + */ + public PostalCode(String postalCode, boolean isPrivate) throws IllegalValueException { + this.isPrivate = isPrivate; + String trimmedPostalCode = postalCode.trim(); + if (!isValidPostalCode(trimmedPostalCode)) { + throw new IllegalValueException(MESSAGE_POSTALCODE_CONSTRAINTS); + } + this.value = trimmedPostalCode; + } + + /** + * Returns true if the given string is a valid address postal code. + */ + public static boolean isValidPostalCode(String test) { + return test.matches(POSTALCODE_VALIDATION_REGEX); + } + + @Override + public String toString() { + return value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof PostalCode // instanceof handles nulls + && this.value.equals(((PostalCode) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + + public boolean isPrivate() { + return isPrivate; + } +} diff --git a/src/seedu/addressbook/data/person/Street.java b/src/seedu/addressbook/data/person/Street.java new file mode 100644 index 000000000..fcd516ecc --- /dev/null +++ b/src/seedu/addressbook/data/person/Street.java @@ -0,0 +1,68 @@ +package seedu.addressbook.data.person; + +import seedu.addressbook.data.exception.IllegalValueException; + +import java.util.Arrays; +import java.util.List; + +/** + * Represents an Address's street name in the address book. + * Guarantees: immutable; is valid as declared in {@link #isValidStreet(String)} + */ +public class Street { + public static final String EXAMPLE = "Clementi Ave 3"; + public static final String MESSAGE_STREET_CONSTRAINTS = "Address street should be spaces or alphabetic characters"; + public static final String STREET_VALIDATION_REGEX = "[\\p{Alpha} ]+"; + + public final String value; + private boolean isPrivate; + + /** + * Validates given phone number. + * + * @throws IllegalValueException if given street string is invalid. + */ + public Street(String street, boolean isPrivate) throws IllegalValueException { + this.isPrivate = isPrivate; + String trimmedStreet = street.trim(); + if (!isValidStreet(trimmedStreet)) { + throw new IllegalValueException(MESSAGE_STREET_CONSTRAINTS); + } + this.value = trimmedStreet; + } + + /** + * Returns true if the given string is a valid address street. + */ + public static boolean isValidStreet(String test) { + return test.matches(STREET_VALIDATION_REGEX); + } + + /** + * Retrieves a listing of every word in the street name, in order. + */ + public List getWordsInStreet() { + return Arrays.asList(value.split("\\s+")); + } + + @Override + public String toString() { + return value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Street // instanceof handles nulls + && this.value.equals(((Street) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + + public boolean isPrivate() { + return isPrivate; + } +} diff --git a/src/seedu/addressbook/data/person/Unit.java b/src/seedu/addressbook/data/person/Unit.java new file mode 100644 index 000000000..7491d5611 --- /dev/null +++ b/src/seedu/addressbook/data/person/Unit.java @@ -0,0 +1,59 @@ +package seedu.addressbook.data.person; + +import seedu.addressbook.data.exception.IllegalValueException; + +/** + * Represents an Address's unit number in the address book. + * Guarantees: immutable; is valid as declared in {@link #isValidUnit(String)} + */ +public class Unit { + public static final String EXAMPLE = "#12-34"; + public static final String MESSAGE_UNIT_CONSTRAINTS = "Address unit should contain a hash symbol followed by " + + "numbers with storey and unit separated by a hyphen"; + public static final String UNIT_VALIDATION_REGEX = "#\\d+-\\d+"; + + public final String value; + private boolean isPrivate; + + /** + * Validates given phone number. + * + * @throws IllegalValueException if given unit string is invalid. + */ + public Unit(String unit, boolean isPrivate) throws IllegalValueException { + this.isPrivate = isPrivate; + String trimmedUnit = unit.trim(); + if (!isValidUnit(trimmedUnit)) { + throw new IllegalValueException(MESSAGE_UNIT_CONSTRAINTS); + } + this.value = trimmedUnit; + } + + /** + * Returns true if the given string is a valid address unit number. + */ + public static boolean isValidUnit(String test) { + return test.matches(UNIT_VALIDATION_REGEX); + } + + @Override + public String toString() { + return value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Unit // instanceof handles nulls + && this.value.equals(((Unit) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + + public boolean isPrivate() { + return isPrivate; + } +} From dea1e13978a18f86b55dd9f9201075fb3f1da4c5 Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Wed, 7 Feb 2018 15:54:56 +0800 Subject: [PATCH 2/8] Edit Address class to include Block, Street, Unit and PostalCode class. Remove isPrivate attribute from Block, Unit, Street and PostalCode. --- src/seedu/addressbook/data/person/Address.java | 17 ++++++++++++++--- src/seedu/addressbook/data/person/Block.java | 10 ++-------- .../addressbook/data/person/PostalCode.java | 10 ++-------- src/seedu/addressbook/data/person/Street.java | 10 ++-------- src/seedu/addressbook/data/person/Unit.java | 10 ++-------- 5 files changed, 22 insertions(+), 35 deletions(-) diff --git a/src/seedu/addressbook/data/person/Address.java b/src/seedu/addressbook/data/person/Address.java index 131d71b46..605ac1107 100644 --- a/src/seedu/addressbook/data/person/Address.java +++ b/src/seedu/addressbook/data/person/Address.java @@ -8,9 +8,15 @@ */ public class Address { - public static final String EXAMPLE = "123, some street"; - public static final String MESSAGE_ADDRESS_CONSTRAINTS = "Person addresses can be in any format"; - public static final String ADDRESS_VALIDATION_REGEX = ".+"; + public static final String EXAMPLE = "123, Clementi Ave 3, #12-34, 231534"; + public static final String MESSAGE_ADDRESS_CONSTRAINTS = "Person addresses should contain block, street, " + + "unit and postal code, separated by a comma"; + public static final String ADDRESS_VALIDATION_REGEX = ".+,.+,.+,.+"; + + public Block block; + public Street street; + public Unit unit; + public PostalCode postalCode; public final String value; private boolean isPrivate; @@ -26,6 +32,11 @@ public Address(String address, boolean isPrivate) throws IllegalValueException { if (!isValidAddress(trimmedAddress)) { throw new IllegalValueException(MESSAGE_ADDRESS_CONSTRAINTS); } + String[] addressElements = trimmedAddress.split(","); + this.block = new Block(addressElements[0].trim()); + this.street = new Street(addressElements[1].trim()); + this.unit = new Unit(addressElements[2].trim()); + this.postalCode = new PostalCode(addressElements[3].trim()); this.value = trimmedAddress; } diff --git a/src/seedu/addressbook/data/person/Block.java b/src/seedu/addressbook/data/person/Block.java index 7a5dd767d..7c48af703 100644 --- a/src/seedu/addressbook/data/person/Block.java +++ b/src/seedu/addressbook/data/person/Block.java @@ -12,15 +12,13 @@ public class Block { public static final String BLOCK_VALIDATION_REGEX = "\\d+"; public final String value; - private boolean isPrivate; /** - * Validates given phone number. + * Validates given block number. * * @throws IllegalValueException if given block string is invalid. */ - public Block(String block, boolean isPrivate) throws IllegalValueException { - this.isPrivate = isPrivate; + public Block(String block) throws IllegalValueException { String trimmedBlock = block.trim(); if (!isValidBlock(trimmedBlock)) { throw new IllegalValueException(MESSAGE_BLOCK_CONSTRAINTS); @@ -51,8 +49,4 @@ public boolean equals(Object other) { public int hashCode() { return value.hashCode(); } - - public boolean isPrivate() { - return isPrivate; - } } diff --git a/src/seedu/addressbook/data/person/PostalCode.java b/src/seedu/addressbook/data/person/PostalCode.java index fbfdc3187..0c70e2741 100644 --- a/src/seedu/addressbook/data/person/PostalCode.java +++ b/src/seedu/addressbook/data/person/PostalCode.java @@ -12,15 +12,13 @@ public class PostalCode { public static final String POSTALCODE_VALIDATION_REGEX = "\\d+"; public final String value; - private boolean isPrivate; /** - * Validates given phone number. + * Validates given postal code. * * @throws IllegalValueException if given postal code string is invalid. */ - public PostalCode(String postalCode, boolean isPrivate) throws IllegalValueException { - this.isPrivate = isPrivate; + public PostalCode(String postalCode) throws IllegalValueException { String trimmedPostalCode = postalCode.trim(); if (!isValidPostalCode(trimmedPostalCode)) { throw new IllegalValueException(MESSAGE_POSTALCODE_CONSTRAINTS); @@ -51,8 +49,4 @@ public boolean equals(Object other) { public int hashCode() { return value.hashCode(); } - - public boolean isPrivate() { - return isPrivate; - } } diff --git a/src/seedu/addressbook/data/person/Street.java b/src/seedu/addressbook/data/person/Street.java index fcd516ecc..a5b7dd6d3 100644 --- a/src/seedu/addressbook/data/person/Street.java +++ b/src/seedu/addressbook/data/person/Street.java @@ -15,15 +15,13 @@ public class Street { public static final String STREET_VALIDATION_REGEX = "[\\p{Alpha} ]+"; public final String value; - private boolean isPrivate; /** - * Validates given phone number. + * Validates given street name. * * @throws IllegalValueException if given street string is invalid. */ - public Street(String street, boolean isPrivate) throws IllegalValueException { - this.isPrivate = isPrivate; + public Street(String street) throws IllegalValueException { String trimmedStreet = street.trim(); if (!isValidStreet(trimmedStreet)) { throw new IllegalValueException(MESSAGE_STREET_CONSTRAINTS); @@ -61,8 +59,4 @@ public boolean equals(Object other) { public int hashCode() { return value.hashCode(); } - - public boolean isPrivate() { - return isPrivate; - } } diff --git a/src/seedu/addressbook/data/person/Unit.java b/src/seedu/addressbook/data/person/Unit.java index 7491d5611..b9b15a00a 100644 --- a/src/seedu/addressbook/data/person/Unit.java +++ b/src/seedu/addressbook/data/person/Unit.java @@ -13,15 +13,13 @@ public class Unit { public static final String UNIT_VALIDATION_REGEX = "#\\d+-\\d+"; public final String value; - private boolean isPrivate; /** - * Validates given phone number. + * Validates given unit number. * * @throws IllegalValueException if given unit string is invalid. */ - public Unit(String unit, boolean isPrivate) throws IllegalValueException { - this.isPrivate = isPrivate; + public Unit(String unit) throws IllegalValueException { String trimmedUnit = unit.trim(); if (!isValidUnit(trimmedUnit)) { throw new IllegalValueException(MESSAGE_UNIT_CONSTRAINTS); @@ -52,8 +50,4 @@ public boolean equals(Object other) { public int hashCode() { return value.hashCode(); } - - public boolean isPrivate() { - return isPrivate; - } } From 5199fafc582c7e74f60105ba6994abc5b364799b Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Wed, 7 Feb 2018 20:28:47 +0800 Subject: [PATCH 3/8] Edit AddCommand.java, expected.txt and input.txt to include new tests for additional Block, Street, Unit and PostalCode classes --- .../addressbook/commands/AddCommand.java | 2 +- test/expected.txt | 124 ++++++++++-------- test/input.txt | 34 ++--- 3 files changed, 88 insertions(+), 72 deletions(-) diff --git a/src/seedu/addressbook/commands/AddCommand.java b/src/seedu/addressbook/commands/AddCommand.java index 7f27791e7..1a22ef8f2 100644 --- a/src/seedu/addressbook/commands/AddCommand.java +++ b/src/seedu/addressbook/commands/AddCommand.java @@ -25,7 +25,7 @@ public class AddCommand extends Command { + "Contact details can be marked private by prepending 'p' to the prefix.\n" + "Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]...\n" + "Example: " + COMMAND_WORD - + " John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney"; + + " John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney"; public static final String MESSAGE_SUCCESS = "New person added: %1$s"; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; diff --git a/test/expected.txt b/test/expected.txt index 49993eaa1..9887e1fe7 100644 --- a/test/expected.txt +++ b/test/expected.txt @@ -8,7 +8,7 @@ || Enter command: || [Command entered: sfdfd] || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456c t/friends t/owesMoney || delete: Deletes the person identified by the index number used in the last person listing. || Parameters: INDEX || Example: delete 1 @@ -50,92 +50,104 @@ || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney || =================================================== -|| Enter command: || [Command entered: add Valid Name 12345 e/valid@email.butNoPhonePrefix a/valid, address] +|| Enter command: || [Command entered: add Valid Name 12345 e/valid@email.butNoPhonePrefix a/123, valid address, #12-345, 123456] || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 valid@email.butNoPrefix a/valid, address] +|| Enter command: || [Command entered: add Valid Name p/12345 valid@email.butNoPrefix a/123, valid address, #12-345, 123456] || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney || =================================================== || Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butNoAddressPrefix valid, address] || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butNoTagPrefix a/valid, address t/goodTag noPrefixTag] +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butNoTagPrefix a/123, valid address, #12-345, 123456 t/goodTag noPrefixTag] || Tags names should be alphanumeric || =================================================== -|| Enter command: || [Command entered: add []\[;] p/12345 e/valid@e.mail a/valid, address] +|| Enter command: || [Command entered: add []\[;] p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456] || Person names should be spaces or alphabetic characters || =================================================== -|| Enter command: || [Command entered: add Valid Name p/not_numbers e/valid@e.mail a/valid, address] +|| Enter command: || [Command entered: add Valid Name p/not_numbers e/valid@e.mail a/123, valid address, #12-345, 123456] || Person phone numbers should only contain numbers || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/notAnEmail a/valid, address] +|| Enter command: || [Command entered: add Valid Name p/12345 e/notAnEmail a/123, valid address, #12-345, 123456] || Person emails should be 2 alphanumeric/period strings separated by '@' || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag] +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidAddress a/asd, #12-345, 123456] +|| Person addresses should contain block, street, unit and postal code, separated by a comma +|| =================================================== +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidBlock a/asd, Clementi, #12-345, 123456] +|| Address block should only contain only numbers +|| =================================================== +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidUnit a/123, Clementi, asd, 123456] +|| Address unit should contain a hash symbol followed by numbers with storey and unit separated by a hyphen +|| =================================================== +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidPostalCode a/123, Clementi, #12-345, asd] +|| Address postal code should contain only numbers +|| =================================================== +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456 t/invalid_-[.tag] || Tags names should be alphanumeric || =================================================== -|| Enter command: || [Command entered: add Adam Brown p/111111 e/adam@gmail.com a/111, alpha street] -|| New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| Enter command: || [Command entered: add Adam Brown p/111111 e/adam@gmail.com a/111, Bukit Batok, #01-02, 133456] +|| New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || || 1 persons listed! || =================================================== -|| Enter command: || [Command entered: add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street t/secretive] -|| New person added: Betsy Choo Phone: (private) 222222 Email: (private) benchoo@nus.edu.sg Address: (private) 222, beta street Tags: [secretive] +|| Enter command: || [Command entered: add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street, #14-234, 678901 t/secretive] +|| New person added: Betsy Choo Phone: (private) 222222 Email: (private) benchoo@nus.edu.sg Address: (private) 222, beta street, #14-234, 678901 Tags: [secretive] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || || 2 persons listed! || =================================================== -|| Enter command: || [Command entered: add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street t/friends t/school] -|| New person added: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| Enter command: || [Command entered: add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street, #21-456, 345678 t/friends t/school] +|| New person added: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || || 3 persons listed! || =================================================== -|| Enter command: || [Command entered: add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street t/friends] -|| New person added: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street Tags: [friends] +|| Enter command: || [Command entered: add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street, #17-123, 456789 t/friends] +|| New person added: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street, #17-123, 456789 Tags: [friends] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] -|| 4. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] +|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| 4. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || || 4 persons listed! || =================================================== -|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy] -|| New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street Tags: [tubers][starchy] +|| Enter command: || [Command entered: || New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy]] +|| New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] -|| 4. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] +|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| 4. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || 5. Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] || || 5 persons listed! || =================================================== -|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy] +|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy] || This person already exists in the address book || =================================================== || Enter command: || [Command entered: view] @@ -175,28 +187,28 @@ || The person index provided is invalid || =================================================== || Enter command: || [Command entered: view 1] -|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: viewall 1] -|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: view 3] -|| Viewing person: Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| Viewing person: Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || =================================================== || Enter command: || [Command entered: view 4] -|| Viewing person: Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] +|| Viewing person: Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || =================================================== || Enter command: || [Command entered: view 5] || Viewing person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: viewall 3] -|| Viewing person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| Viewing person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || =================================================== || Enter command: || [Command entered: viewall 4] -|| Viewing person: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street Tags: [friends] +|| Viewing person: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street, #17-123, 456789 Tags: [friends] || =================================================== || Enter command: || [Command entered: viewall 5] -|| Viewing person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street Tags: [tubers][starchy] +|| Viewing person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: find] || Invalid command format! @@ -222,19 +234,19 @@ || 1 persons listed! || =================================================== || Enter command: || [Command entered: find Dickson] -|| 1. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] -|| 2. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] -|| +|| 1. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| 2. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| || 2 persons listed! || =================================================== || Enter command: || [Command entered: find Charlie Betsy] || 1. Betsy Choo Tags: [secretive] -|| 2. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] -|| +|| 2. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| || 2 persons listed! || =================================================== || Enter command: || [Command entered: delete] -|| Invalid command format! +|| Invalid command format! || delete: Deletes the person identified by the index number used in the last person listing. || Parameters: INDEX || Example: delete 1 @@ -252,7 +264,7 @@ || The person index provided is invalid || =================================================== || Enter command: || [Command entered: delete 2] -|| Deleted Person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| Deleted Person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || =================================================== || Enter command: || [Command entered: delete 2] || Person could not be found in address book @@ -264,29 +276,29 @@ || Person could not be found in address book || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] +|| 3. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || 4. Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] -|| +|| || 4 persons listed! || =================================================== || Enter command: || [Command entered: delete 4] -|| Deleted Person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street Tags: [tubers][starchy] +|| Deleted Person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] -|| +|| 3. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| || 3 persons listed! || =================================================== || Enter command: || [Command entered: delete 1] -|| Deleted Person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: +|| Deleted Person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: list] || 1. Betsy Choo Tags: [secretive] -|| 2. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] +|| 2. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || || 2 persons listed! || =================================================== diff --git a/test/input.txt b/test/input.txt index 5ecae97f8..77a99c780 100644 --- a/test/input.txt +++ b/test/input.txt @@ -23,36 +23,40 @@ list ########################################################## -# test add person command, setup state for futuer tests +# test add person command, setup state for future tests ########################################################## # should catch invalid args format add wrong args wrong args - add Valid Name 12345 e/valid@email.butNoPhonePrefix a/valid, address - add Valid Name p/12345 valid@email.butNoPrefix a/valid, address + add Valid Name 12345 e/valid@email.butNoPhonePrefix a/123, valid address, #12-345, 123456 + add Valid Name p/12345 valid@email.butNoPrefix a/123, valid address, #12-345, 123456 add Valid Name p/12345 e/valid@email.butNoAddressPrefix valid, address - add Valid Name p/12345 e/valid@email.butNoTagPrefix a/valid, address t/goodTag noPrefixTag + add Valid Name p/12345 e/valid@email.butNoTagPrefix a/123, valid address, #12-345, 123456 t/goodTag noPrefixTag # should catch invalid person data - add []\[;] p/12345 e/valid@e.mail a/valid, address - add Valid Name p/not_numbers e/valid@e.mail a/valid, address - add Valid Name p/12345 e/notAnEmail a/valid, address - add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag + add []\[;] p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456 + add Valid Name p/not_numbers e/valid@e.mail a/123, valid address, #12-345, 123456 + add Valid Name p/12345 e/notAnEmail a/123, valid address, #12-345, 123456 + add Valid Name p/12345 e/valid@email.butInvalidAddress a/asd, #12-345, 123456 + add Valid Name p/12345 e/valid@email.butInvalidBlock a/asd, Clementi, #12-345, 123456 + add Valid Name p/12345 e/valid@email.butInvalidUnit a/123, Clementi, asd, 123456 + add Valid Name p/12345 e/valid@email.butInvalidPostalCode a/123, Clementi, #12-345, asd + add Valid Name p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456 t/invalid_-[.tag # should add correctly and list non private information - add Adam Brown p/111111 e/adam@gmail.com a/111, alpha street + add Adam Brown p/111111 e/adam@gmail.com a/111, Bukit Batok, #01-02, 133456 list - add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street t/secretive + add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street, #14-234, 678901 t/secretive list - add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street t/friends t/school + add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street, #21-456, 345678 t/friends t/school list - add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street t/friends + add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street, #17-123, 456789 t/friends list - add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy + add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy list # should not allow adding duplicate persons - add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy + add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy ########################################################## # test view/viewall persons command @@ -62,7 +66,7 @@ view viewall view should be only one number - viewall should only be one number + v # should catch invalid index view -1 From 393028f4a9685caeef61b79e09563f23d62a196a Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Wed, 7 Feb 2018 20:51:48 +0800 Subject: [PATCH 4/8] Edit expected.txt and input.txt to include new test cases --- test/expected.txt | 36 ++++++++++++++++++------------------ test/input.txt | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/test/expected.txt b/test/expected.txt index 9887e1fe7..1b31c7683 100644 --- a/test/expected.txt +++ b/test/expected.txt @@ -8,7 +8,7 @@ || Enter command: || [Command entered: sfdfd] || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456c t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney || delete: Deletes the person identified by the index number used in the last person listing. || Parameters: INDEX || Example: delete 1 @@ -98,10 +98,10 @@ || Tags names should be alphanumeric || =================================================== || Enter command: || [Command entered: add Adam Brown p/111111 e/adam@gmail.com a/111, Bukit Batok, #01-02, 133456] -|| New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || || 1 persons listed! || =================================================== @@ -109,7 +109,7 @@ || New person added: Betsy Choo Phone: (private) 222222 Email: (private) benchoo@nus.edu.sg Address: (private) 222, beta street, #14-234, 678901 Tags: [secretive] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || || 2 persons listed! @@ -118,7 +118,7 @@ || New person added: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || @@ -128,18 +128,18 @@ || New person added: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street, #17-123, 456789 Tags: [friends] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || 4. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || || 4 persons listed! || =================================================== -|| Enter command: || [Command entered: || New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy]] +|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy] || New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || 4. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] @@ -187,10 +187,10 @@ || The person index provided is invalid || =================================================== || Enter command: || [Command entered: view 1] -|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: viewall 1] -|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: view 3] || Viewing person: Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] @@ -236,17 +236,17 @@ || Enter command: || [Command entered: find Dickson] || 1. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] || 2. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] -|| +|| || 2 persons listed! || =================================================== || Enter command: || [Command entered: find Charlie Betsy] || 1. Betsy Choo Tags: [secretive] || 2. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] -|| +|| || 2 persons listed! || =================================================== || Enter command: || [Command entered: delete] -|| Invalid command format! +|| Invalid command format! || delete: Deletes the person identified by the index number used in the last person listing. || Parameters: INDEX || Example: delete 1 @@ -276,25 +276,25 @@ || Person could not be found in address book || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || 3. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] || 4. Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] -|| +|| || 4 persons listed! || =================================================== || Enter command: || [Command entered: delete 4] || Deleted Person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || 2. Betsy Choo Tags: [secretive] || 3. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] -|| +|| || 3 persons listed! || =================================================== || Enter command: || [Command entered: delete 1] -|| Deleted Person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Deleted Person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: || =================================================== || Enter command: || [Command entered: list] || 1. Betsy Choo Tags: [secretive] diff --git a/test/input.txt b/test/input.txt index 77a99c780..e1ec85021 100644 --- a/test/input.txt +++ b/test/input.txt @@ -66,7 +66,7 @@ view viewall view should be only one number - v + viewall should only be one number # should catch invalid index view -1 From 392973c11f7b71286f44c373438e5b04e150c604 Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Wed, 7 Feb 2018 20:57:22 +0800 Subject: [PATCH 5/8] Update UserGuide.md and ValidData.xml to include new Block, Street, Unit and PostalCode classes --- doc/UserGuide.md | 6 +++--- test/data/StorageFileTest/ValidData.xml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/UserGuide.md b/doc/UserGuide.md index fcd5a7121..0db05d0c8 100644 --- a/doc/UserGuide.md +++ b/doc/UserGuide.md @@ -35,7 +35,7 @@ Format: `help` ### Adding a person: `add` Adds a person to the address book
-Format: `add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/ADDRESS [t/TAG]...` +Format: `add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/BLOCK, STREET, UNIT, POSTAL CODE [t/TAG]...` > Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, > items with `...` after them can have multiple instances. Order of parameters are fixed. @@ -46,8 +46,8 @@ Format: `add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/ADDRESS [t/TAG]...` > Persons can have any number of tags (including 0) Examples: -* `add John Doe p/98765432 e/johnd@gmail.com a/John street, block 123, #01-01` -* `add Betsy Crowe pp/1234567 e/betsycrowe@gmail.com pa/Newgate Prison t/criminal t/friend` +* `add John Doe p/98765432 e/johnd@gmail.com a/123, John Street, #01-01, 123456` +* `add Betsy Crowe pp/1234567 e/betsycrowe@gmail.com pa/456, Newgate Prison, #01-01, 123456 t/criminal t/friend` ### Listing all persons : `list` Shows a list of all persons in the address book.
diff --git a/test/data/StorageFileTest/ValidData.xml b/test/data/StorageFileTest/ValidData.xml index 968fccfdc..f824f45dc 100644 --- a/test/data/StorageFileTest/ValidData.xml +++ b/test/data/StorageFileTest/ValidData.xml @@ -4,13 +4,13 @@ John Doe 98765432 johnd@gmail.com -
John street, block 123, #01-01
+
123, John street, #01-01, 123456
Betsy Crowe 1234567 betsycrowe@gmail.com -
Newgate Prison
+
456, Newgate Prison, #01-01, 123456
friend criminal
From 1c1911be205cc3b16449ea4bda4fa87dde1f8542 Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Mon, 12 Feb 2018 11:27:44 +0800 Subject: [PATCH 6/8] Revert master to original addressbook2 --- src/seedu/addressbook/Main.java | 0 .../addressbook/commands/AddCommand.java | 2 +- .../addressbook/commands/ClearCommand.java | 0 src/seedu/addressbook/commands/Command.java | 0 .../addressbook/commands/CommandResult.java | 0 .../addressbook/commands/DeleteCommand.java | 0 .../addressbook/commands/ExitCommand.java | 0 .../addressbook/commands/FindCommand.java | 0 .../addressbook/commands/HelpCommand.java | 0 .../commands/IncorrectCommand.java | 0 .../addressbook/commands/ListCommand.java | 0 .../addressbook/commands/ViewAllCommand.java | 0 .../addressbook/commands/ViewCommand.java | 0 src/seedu/addressbook/common/Messages.java | 0 src/seedu/addressbook/common/Utils.java | 0 src/seedu/addressbook/data/AddressBook.java | 0 .../exception/DuplicateDataException.java | 0 .../data/exception/IllegalValueException.java | 0 .../addressbook/data/person/Address.java | 17 +-- src/seedu/addressbook/data/person/Block.java | 52 -------- src/seedu/addressbook/data/person/Email.java | 0 src/seedu/addressbook/data/person/Name.java | 0 src/seedu/addressbook/data/person/Person.java | 0 src/seedu/addressbook/data/person/Phone.java | 0 .../addressbook/data/person/PostalCode.java | 52 -------- .../data/person/ReadOnlyPerson.java | 0 src/seedu/addressbook/data/person/Street.java | 62 ---------- .../data/person/UniquePersonList.java | 0 src/seedu/addressbook/data/person/Unit.java | 53 -------- src/seedu/addressbook/data/tag/Tag.java | 0 .../addressbook/data/tag/UniqueTagList.java | 0 src/seedu/addressbook/parser/Parser.java | 0 .../addressbook/storage/StorageFile.java | 0 .../storage/jaxb/AdaptedAddressBook.java | 0 .../storage/jaxb/AdaptedPerson.java | 0 .../addressbook/storage/jaxb/AdaptedTag.java | 0 src/seedu/addressbook/ui/TextUi.java | 0 test/data/StorageFileTest/InvalidData.xml | 0 test/data/StorageFileTest/ValidData.xml | 4 +- test/expected.txt | 114 ++++++++---------- test/input.txt | 32 +++-- .../addressbook/commands/AddCommandTest.java | 0 .../commands/DeleteCommandTest.java | 0 .../addressbook/commands/FindCommandTest.java | 0 .../commands/ViewAllCommandTest.java | 0 .../addressbook/commands/ViewCommandTest.java | 0 .../seedu/addressbook/common/UtilsTest.java | 0 .../addressbook/data/AddressBookTest.java | 0 .../seedu/addressbook/parser/ParserTest.java | 0 .../addressbook/storage/StorageFileTest.java | 0 .../java/seedu/addressbook/util/TestUtil.java | 0 .../addressbook/util/TypicalPersons.java | 0 test/runtests.bat | 0 53 files changed, 71 insertions(+), 317 deletions(-) mode change 100644 => 100755 src/seedu/addressbook/Main.java mode change 100644 => 100755 src/seedu/addressbook/commands/AddCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/ClearCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/Command.java mode change 100644 => 100755 src/seedu/addressbook/commands/CommandResult.java mode change 100644 => 100755 src/seedu/addressbook/commands/DeleteCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/ExitCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/FindCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/HelpCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/IncorrectCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/ListCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/ViewAllCommand.java mode change 100644 => 100755 src/seedu/addressbook/commands/ViewCommand.java mode change 100644 => 100755 src/seedu/addressbook/common/Messages.java mode change 100644 => 100755 src/seedu/addressbook/common/Utils.java mode change 100644 => 100755 src/seedu/addressbook/data/AddressBook.java mode change 100644 => 100755 src/seedu/addressbook/data/exception/DuplicateDataException.java mode change 100644 => 100755 src/seedu/addressbook/data/exception/IllegalValueException.java mode change 100644 => 100755 src/seedu/addressbook/data/person/Address.java delete mode 100644 src/seedu/addressbook/data/person/Block.java mode change 100644 => 100755 src/seedu/addressbook/data/person/Email.java mode change 100644 => 100755 src/seedu/addressbook/data/person/Name.java mode change 100644 => 100755 src/seedu/addressbook/data/person/Person.java mode change 100644 => 100755 src/seedu/addressbook/data/person/Phone.java delete mode 100644 src/seedu/addressbook/data/person/PostalCode.java mode change 100644 => 100755 src/seedu/addressbook/data/person/ReadOnlyPerson.java delete mode 100644 src/seedu/addressbook/data/person/Street.java mode change 100644 => 100755 src/seedu/addressbook/data/person/UniquePersonList.java delete mode 100644 src/seedu/addressbook/data/person/Unit.java mode change 100644 => 100755 src/seedu/addressbook/data/tag/Tag.java mode change 100644 => 100755 src/seedu/addressbook/data/tag/UniqueTagList.java mode change 100644 => 100755 src/seedu/addressbook/parser/Parser.java mode change 100644 => 100755 src/seedu/addressbook/storage/StorageFile.java mode change 100644 => 100755 src/seedu/addressbook/storage/jaxb/AdaptedAddressBook.java mode change 100644 => 100755 src/seedu/addressbook/storage/jaxb/AdaptedPerson.java mode change 100644 => 100755 src/seedu/addressbook/storage/jaxb/AdaptedTag.java mode change 100644 => 100755 src/seedu/addressbook/ui/TextUi.java mode change 100644 => 100755 test/data/StorageFileTest/InvalidData.xml mode change 100644 => 100755 test/data/StorageFileTest/ValidData.xml mode change 100644 => 100755 test/expected.txt mode change 100644 => 100755 test/input.txt mode change 100644 => 100755 test/java/seedu/addressbook/commands/AddCommandTest.java mode change 100644 => 100755 test/java/seedu/addressbook/commands/DeleteCommandTest.java mode change 100644 => 100755 test/java/seedu/addressbook/commands/FindCommandTest.java mode change 100644 => 100755 test/java/seedu/addressbook/commands/ViewAllCommandTest.java mode change 100644 => 100755 test/java/seedu/addressbook/commands/ViewCommandTest.java mode change 100644 => 100755 test/java/seedu/addressbook/common/UtilsTest.java mode change 100644 => 100755 test/java/seedu/addressbook/data/AddressBookTest.java mode change 100644 => 100755 test/java/seedu/addressbook/parser/ParserTest.java mode change 100644 => 100755 test/java/seedu/addressbook/storage/StorageFileTest.java mode change 100644 => 100755 test/java/seedu/addressbook/util/TestUtil.java mode change 100644 => 100755 test/java/seedu/addressbook/util/TypicalPersons.java mode change 100644 => 100755 test/runtests.bat diff --git a/src/seedu/addressbook/Main.java b/src/seedu/addressbook/Main.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/AddCommand.java b/src/seedu/addressbook/commands/AddCommand.java old mode 100644 new mode 100755 index 1a22ef8f2..7f27791e7 --- a/src/seedu/addressbook/commands/AddCommand.java +++ b/src/seedu/addressbook/commands/AddCommand.java @@ -25,7 +25,7 @@ public class AddCommand extends Command { + "Contact details can be marked private by prepending 'p' to the prefix.\n" + "Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]...\n" + "Example: " + COMMAND_WORD - + " John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney"; + + " John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney"; public static final String MESSAGE_SUCCESS = "New person added: %1$s"; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; diff --git a/src/seedu/addressbook/commands/ClearCommand.java b/src/seedu/addressbook/commands/ClearCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/Command.java b/src/seedu/addressbook/commands/Command.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/CommandResult.java b/src/seedu/addressbook/commands/CommandResult.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/DeleteCommand.java b/src/seedu/addressbook/commands/DeleteCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/ExitCommand.java b/src/seedu/addressbook/commands/ExitCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/FindCommand.java b/src/seedu/addressbook/commands/FindCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/HelpCommand.java b/src/seedu/addressbook/commands/HelpCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/IncorrectCommand.java b/src/seedu/addressbook/commands/IncorrectCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/ListCommand.java b/src/seedu/addressbook/commands/ListCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/ViewAllCommand.java b/src/seedu/addressbook/commands/ViewAllCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/commands/ViewCommand.java b/src/seedu/addressbook/commands/ViewCommand.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/common/Messages.java b/src/seedu/addressbook/common/Messages.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/common/Utils.java b/src/seedu/addressbook/common/Utils.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/AddressBook.java b/src/seedu/addressbook/data/AddressBook.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/exception/DuplicateDataException.java b/src/seedu/addressbook/data/exception/DuplicateDataException.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/exception/IllegalValueException.java b/src/seedu/addressbook/data/exception/IllegalValueException.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/Address.java b/src/seedu/addressbook/data/person/Address.java old mode 100644 new mode 100755 index 605ac1107..131d71b46 --- a/src/seedu/addressbook/data/person/Address.java +++ b/src/seedu/addressbook/data/person/Address.java @@ -8,15 +8,9 @@ */ public class Address { - public static final String EXAMPLE = "123, Clementi Ave 3, #12-34, 231534"; - public static final String MESSAGE_ADDRESS_CONSTRAINTS = "Person addresses should contain block, street, " + - "unit and postal code, separated by a comma"; - public static final String ADDRESS_VALIDATION_REGEX = ".+,.+,.+,.+"; - - public Block block; - public Street street; - public Unit unit; - public PostalCode postalCode; + public static final String EXAMPLE = "123, some street"; + public static final String MESSAGE_ADDRESS_CONSTRAINTS = "Person addresses can be in any format"; + public static final String ADDRESS_VALIDATION_REGEX = ".+"; public final String value; private boolean isPrivate; @@ -32,11 +26,6 @@ public Address(String address, boolean isPrivate) throws IllegalValueException { if (!isValidAddress(trimmedAddress)) { throw new IllegalValueException(MESSAGE_ADDRESS_CONSTRAINTS); } - String[] addressElements = trimmedAddress.split(","); - this.block = new Block(addressElements[0].trim()); - this.street = new Street(addressElements[1].trim()); - this.unit = new Unit(addressElements[2].trim()); - this.postalCode = new PostalCode(addressElements[3].trim()); this.value = trimmedAddress; } diff --git a/src/seedu/addressbook/data/person/Block.java b/src/seedu/addressbook/data/person/Block.java deleted file mode 100644 index 7c48af703..000000000 --- a/src/seedu/addressbook/data/person/Block.java +++ /dev/null @@ -1,52 +0,0 @@ -package seedu.addressbook.data.person; - -import seedu.addressbook.data.exception.IllegalValueException; - -/** - * Represents an Address's block number in the address book. - * Guarantees: immutable; is valid as declared in {@link #isValidBlock(String)} - */ -public class Block { - public static final String EXAMPLE = "123"; - public static final String MESSAGE_BLOCK_CONSTRAINTS = "Address block should only contain only numbers"; - public static final String BLOCK_VALIDATION_REGEX = "\\d+"; - - public final String value; - - /** - * Validates given block number. - * - * @throws IllegalValueException if given block string is invalid. - */ - public Block(String block) throws IllegalValueException { - String trimmedBlock = block.trim(); - if (!isValidBlock(trimmedBlock)) { - throw new IllegalValueException(MESSAGE_BLOCK_CONSTRAINTS); - } - this.value = trimmedBlock; - } - - /** - * Returns true if the given string is a valid address block number. - */ - public static boolean isValidBlock(String test) { - return test.matches(BLOCK_VALIDATION_REGEX); - } - - @Override - public String toString() { - return value; - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof Block // instanceof handles nulls - && this.value.equals(((Block) other).value)); // state check - } - - @Override - public int hashCode() { - return value.hashCode(); - } -} diff --git a/src/seedu/addressbook/data/person/Email.java b/src/seedu/addressbook/data/person/Email.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/Name.java b/src/seedu/addressbook/data/person/Name.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/Person.java b/src/seedu/addressbook/data/person/Person.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/Phone.java b/src/seedu/addressbook/data/person/Phone.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/PostalCode.java b/src/seedu/addressbook/data/person/PostalCode.java deleted file mode 100644 index 0c70e2741..000000000 --- a/src/seedu/addressbook/data/person/PostalCode.java +++ /dev/null @@ -1,52 +0,0 @@ -package seedu.addressbook.data.person; - -import seedu.addressbook.data.exception.IllegalValueException; - -/** - * Represents an Address's postal code in the address book. - * Guarantees: immutable; is valid as declared in {@link #isValidPostalCode(String)} - */ -public class PostalCode { - public static final String EXAMPLE = "#12-34"; - public static final String MESSAGE_POSTALCODE_CONSTRAINTS = "Address postal code should contain only numbers"; - public static final String POSTALCODE_VALIDATION_REGEX = "\\d+"; - - public final String value; - - /** - * Validates given postal code. - * - * @throws IllegalValueException if given postal code string is invalid. - */ - public PostalCode(String postalCode) throws IllegalValueException { - String trimmedPostalCode = postalCode.trim(); - if (!isValidPostalCode(trimmedPostalCode)) { - throw new IllegalValueException(MESSAGE_POSTALCODE_CONSTRAINTS); - } - this.value = trimmedPostalCode; - } - - /** - * Returns true if the given string is a valid address postal code. - */ - public static boolean isValidPostalCode(String test) { - return test.matches(POSTALCODE_VALIDATION_REGEX); - } - - @Override - public String toString() { - return value; - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof PostalCode // instanceof handles nulls - && this.value.equals(((PostalCode) other).value)); // state check - } - - @Override - public int hashCode() { - return value.hashCode(); - } -} diff --git a/src/seedu/addressbook/data/person/ReadOnlyPerson.java b/src/seedu/addressbook/data/person/ReadOnlyPerson.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/Street.java b/src/seedu/addressbook/data/person/Street.java deleted file mode 100644 index a5b7dd6d3..000000000 --- a/src/seedu/addressbook/data/person/Street.java +++ /dev/null @@ -1,62 +0,0 @@ -package seedu.addressbook.data.person; - -import seedu.addressbook.data.exception.IllegalValueException; - -import java.util.Arrays; -import java.util.List; - -/** - * Represents an Address's street name in the address book. - * Guarantees: immutable; is valid as declared in {@link #isValidStreet(String)} - */ -public class Street { - public static final String EXAMPLE = "Clementi Ave 3"; - public static final String MESSAGE_STREET_CONSTRAINTS = "Address street should be spaces or alphabetic characters"; - public static final String STREET_VALIDATION_REGEX = "[\\p{Alpha} ]+"; - - public final String value; - - /** - * Validates given street name. - * - * @throws IllegalValueException if given street string is invalid. - */ - public Street(String street) throws IllegalValueException { - String trimmedStreet = street.trim(); - if (!isValidStreet(trimmedStreet)) { - throw new IllegalValueException(MESSAGE_STREET_CONSTRAINTS); - } - this.value = trimmedStreet; - } - - /** - * Returns true if the given string is a valid address street. - */ - public static boolean isValidStreet(String test) { - return test.matches(STREET_VALIDATION_REGEX); - } - - /** - * Retrieves a listing of every word in the street name, in order. - */ - public List getWordsInStreet() { - return Arrays.asList(value.split("\\s+")); - } - - @Override - public String toString() { - return value; - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof Street // instanceof handles nulls - && this.value.equals(((Street) other).value)); // state check - } - - @Override - public int hashCode() { - return value.hashCode(); - } -} diff --git a/src/seedu/addressbook/data/person/UniquePersonList.java b/src/seedu/addressbook/data/person/UniquePersonList.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/person/Unit.java b/src/seedu/addressbook/data/person/Unit.java deleted file mode 100644 index b9b15a00a..000000000 --- a/src/seedu/addressbook/data/person/Unit.java +++ /dev/null @@ -1,53 +0,0 @@ -package seedu.addressbook.data.person; - -import seedu.addressbook.data.exception.IllegalValueException; - -/** - * Represents an Address's unit number in the address book. - * Guarantees: immutable; is valid as declared in {@link #isValidUnit(String)} - */ -public class Unit { - public static final String EXAMPLE = "#12-34"; - public static final String MESSAGE_UNIT_CONSTRAINTS = "Address unit should contain a hash symbol followed by " + - "numbers with storey and unit separated by a hyphen"; - public static final String UNIT_VALIDATION_REGEX = "#\\d+-\\d+"; - - public final String value; - - /** - * Validates given unit number. - * - * @throws IllegalValueException if given unit string is invalid. - */ - public Unit(String unit) throws IllegalValueException { - String trimmedUnit = unit.trim(); - if (!isValidUnit(trimmedUnit)) { - throw new IllegalValueException(MESSAGE_UNIT_CONSTRAINTS); - } - this.value = trimmedUnit; - } - - /** - * Returns true if the given string is a valid address unit number. - */ - public static boolean isValidUnit(String test) { - return test.matches(UNIT_VALIDATION_REGEX); - } - - @Override - public String toString() { - return value; - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof Unit // instanceof handles nulls - && this.value.equals(((Unit) other).value)); // state check - } - - @Override - public int hashCode() { - return value.hashCode(); - } -} diff --git a/src/seedu/addressbook/data/tag/Tag.java b/src/seedu/addressbook/data/tag/Tag.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/data/tag/UniqueTagList.java b/src/seedu/addressbook/data/tag/UniqueTagList.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/parser/Parser.java b/src/seedu/addressbook/parser/Parser.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/storage/StorageFile.java b/src/seedu/addressbook/storage/StorageFile.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/storage/jaxb/AdaptedAddressBook.java b/src/seedu/addressbook/storage/jaxb/AdaptedAddressBook.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/storage/jaxb/AdaptedPerson.java b/src/seedu/addressbook/storage/jaxb/AdaptedPerson.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/storage/jaxb/AdaptedTag.java b/src/seedu/addressbook/storage/jaxb/AdaptedTag.java old mode 100644 new mode 100755 diff --git a/src/seedu/addressbook/ui/TextUi.java b/src/seedu/addressbook/ui/TextUi.java old mode 100644 new mode 100755 diff --git a/test/data/StorageFileTest/InvalidData.xml b/test/data/StorageFileTest/InvalidData.xml old mode 100644 new mode 100755 diff --git a/test/data/StorageFileTest/ValidData.xml b/test/data/StorageFileTest/ValidData.xml old mode 100644 new mode 100755 index f824f45dc..968fccfdc --- a/test/data/StorageFileTest/ValidData.xml +++ b/test/data/StorageFileTest/ValidData.xml @@ -4,13 +4,13 @@ John Doe 98765432 johnd@gmail.com -
123, John street, #01-01, 123456
+
John street, block 123, #01-01
Betsy Crowe 1234567 betsycrowe@gmail.com -
456, Newgate Prison, #01-01, 123456
+
Newgate Prison
friend criminal
diff --git a/test/expected.txt b/test/expected.txt old mode 100644 new mode 100755 index 1b31c7683..49993eaa1 --- a/test/expected.txt +++ b/test/expected.txt @@ -8,7 +8,7 @@ || Enter command: || [Command entered: sfdfd] || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney || delete: Deletes the person identified by the index number used in the last person listing. || Parameters: INDEX || Example: delete 1 @@ -50,104 +50,92 @@ || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney || =================================================== -|| Enter command: || [Command entered: add Valid Name 12345 e/valid@email.butNoPhonePrefix a/123, valid address, #12-345, 123456] +|| Enter command: || [Command entered: add Valid Name 12345 e/valid@email.butNoPhonePrefix a/valid, address] || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 valid@email.butNoPrefix a/123, valid address, #12-345, 123456] +|| Enter command: || [Command entered: add Valid Name p/12345 valid@email.butNoPrefix a/valid, address] || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney || =================================================== || Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butNoAddressPrefix valid, address] || Invalid command format! || add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. || Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... -|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25, 123456 t/friends t/owesMoney +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butNoTagPrefix a/123, valid address, #12-345, 123456 t/goodTag noPrefixTag] +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butNoTagPrefix a/valid, address t/goodTag noPrefixTag] || Tags names should be alphanumeric || =================================================== -|| Enter command: || [Command entered: add []\[;] p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456] +|| Enter command: || [Command entered: add []\[;] p/12345 e/valid@e.mail a/valid, address] || Person names should be spaces or alphabetic characters || =================================================== -|| Enter command: || [Command entered: add Valid Name p/not_numbers e/valid@e.mail a/123, valid address, #12-345, 123456] +|| Enter command: || [Command entered: add Valid Name p/not_numbers e/valid@e.mail a/valid, address] || Person phone numbers should only contain numbers || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/notAnEmail a/123, valid address, #12-345, 123456] +|| Enter command: || [Command entered: add Valid Name p/12345 e/notAnEmail a/valid, address] || Person emails should be 2 alphanumeric/period strings separated by '@' || =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidAddress a/asd, #12-345, 123456] -|| Person addresses should contain block, street, unit and postal code, separated by a comma -|| =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidBlock a/asd, Clementi, #12-345, 123456] -|| Address block should only contain only numbers -|| =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidUnit a/123, Clementi, asd, 123456] -|| Address unit should contain a hash symbol followed by numbers with storey and unit separated by a hyphen -|| =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@email.butInvalidPostalCode a/123, Clementi, #12-345, asd] -|| Address postal code should contain only numbers -|| =================================================== -|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456 t/invalid_-[.tag] +|| Enter command: || [Command entered: add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag] || Tags names should be alphanumeric || =================================================== -|| Enter command: || [Command entered: add Adam Brown p/111111 e/adam@gmail.com a/111, Bukit Batok, #01-02, 133456] -|| New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Enter command: || [Command entered: add Adam Brown p/111111 e/adam@gmail.com a/111, alpha street] +|| New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || || 1 persons listed! || =================================================== -|| Enter command: || [Command entered: add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street, #14-234, 678901 t/secretive] -|| New person added: Betsy Choo Phone: (private) 222222 Email: (private) benchoo@nus.edu.sg Address: (private) 222, beta street, #14-234, 678901 Tags: [secretive] +|| Enter command: || [Command entered: add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street t/secretive] +|| New person added: Betsy Choo Phone: (private) 222222 Email: (private) benchoo@nus.edu.sg Address: (private) 222, beta street Tags: [secretive] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || 2. Betsy Choo Tags: [secretive] || || 2 persons listed! || =================================================== -|| Enter command: || [Command entered: add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street, #21-456, 345678 t/friends t/school] -|| New person added: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| Enter command: || [Command entered: add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street t/friends t/school] +|| New person added: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] || || 3 persons listed! || =================================================== -|| Enter command: || [Command entered: add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street, #17-123, 456789 t/friends] -|| New person added: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| Enter command: || [Command entered: add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street t/friends] +|| New person added: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street Tags: [friends] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] -|| 4. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| 4. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || || 4 persons listed! || =================================================== -|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy] -|| New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] +|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy] +|| New person added: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] -|| 4. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| 3. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| 4. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || 5. Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] || || 5 persons listed! || =================================================== -|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy] +|| Enter command: || [Command entered: add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy] || This person already exists in the address book || =================================================== || Enter command: || [Command entered: view] @@ -187,28 +175,28 @@ || The person index provided is invalid || =================================================== || Enter command: || [Command entered: view 1] -|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || =================================================== || Enter command: || [Command entered: viewall 1] -|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Viewing person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || =================================================== || Enter command: || [Command entered: view 3] -|| Viewing person: Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| Viewing person: Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] || =================================================== || Enter command: || [Command entered: view 4] -|| Viewing person: Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| Viewing person: Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || =================================================== || Enter command: || [Command entered: view 5] || Viewing person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: viewall 3] -|| Viewing person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| Viewing person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] || =================================================== || Enter command: || [Command entered: viewall 4] -|| Viewing person: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| Viewing person: Dickson Ee Phone: 444444 Email: (private) dickson@nus.edu.sg Address: 444, delta street Tags: [friends] || =================================================== || Enter command: || [Command entered: viewall 5] -|| Viewing person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] +|| Viewing person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: find] || Invalid command format! @@ -234,14 +222,14 @@ || 1 persons listed! || =================================================== || Enter command: || [Command entered: find Dickson] -|| 1. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] -|| 2. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| 1. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] +|| 2. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || || 2 persons listed! || =================================================== || Enter command: || [Command entered: find Charlie Betsy] || 1. Betsy Choo Tags: [secretive] -|| 2. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| 2. Charlie Dickson Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] || || 2 persons listed! || =================================================== @@ -264,7 +252,7 @@ || The person index provided is invalid || =================================================== || Enter command: || [Command entered: delete 2] -|| Deleted Person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street, #21-456, 345678 Tags: [school][friends] +|| Deleted Person: Charlie Dickson Phone: (private) 333333 Email: charlie.d@nus.edu.sg Address: 333, gamma street Tags: [school][friends] || =================================================== || Enter command: || [Command entered: delete 2] || Person could not be found in address book @@ -276,29 +264,29 @@ || Person could not be found in address book || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| 3. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || 4. Esther Potato Phone: 555555 Email: esther@not.a.real.potato Tags: [tubers][starchy] || || 4 persons listed! || =================================================== || Enter command: || [Command entered: delete 4] -|| Deleted Person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street, #13-890, 234567 Tags: [tubers][starchy] +|| Deleted Person: Esther Potato Phone: 555555 Email: esther@not.a.real.potato Address: (private) 555, epsilon street Tags: [tubers][starchy] || =================================================== || Enter command: || [Command entered: list] -|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| 1. Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || 2. Betsy Choo Tags: [secretive] -|| 3. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| 3. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || || 3 persons listed! || =================================================== || Enter command: || [Command entered: delete 1] -|| Deleted Person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, Bukit Batok, #01-02, 133456 Tags: +|| Deleted Person: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || =================================================== || Enter command: || [Command entered: list] || 1. Betsy Choo Tags: [secretive] -|| 2. Dickson Ee Phone: 444444 Address: 444, delta street, #17-123, 456789 Tags: [friends] +|| 2. Dickson Ee Phone: 444444 Address: 444, delta street Tags: [friends] || || 2 persons listed! || =================================================== diff --git a/test/input.txt b/test/input.txt old mode 100644 new mode 100755 index e1ec85021..5ecae97f8 --- a/test/input.txt +++ b/test/input.txt @@ -23,40 +23,36 @@ list ########################################################## -# test add person command, setup state for future tests +# test add person command, setup state for futuer tests ########################################################## # should catch invalid args format add wrong args wrong args - add Valid Name 12345 e/valid@email.butNoPhonePrefix a/123, valid address, #12-345, 123456 - add Valid Name p/12345 valid@email.butNoPrefix a/123, valid address, #12-345, 123456 + add Valid Name 12345 e/valid@email.butNoPhonePrefix a/valid, address + add Valid Name p/12345 valid@email.butNoPrefix a/valid, address add Valid Name p/12345 e/valid@email.butNoAddressPrefix valid, address - add Valid Name p/12345 e/valid@email.butNoTagPrefix a/123, valid address, #12-345, 123456 t/goodTag noPrefixTag + add Valid Name p/12345 e/valid@email.butNoTagPrefix a/valid, address t/goodTag noPrefixTag # should catch invalid person data - add []\[;] p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456 - add Valid Name p/not_numbers e/valid@e.mail a/123, valid address, #12-345, 123456 - add Valid Name p/12345 e/notAnEmail a/123, valid address, #12-345, 123456 - add Valid Name p/12345 e/valid@email.butInvalidAddress a/asd, #12-345, 123456 - add Valid Name p/12345 e/valid@email.butInvalidBlock a/asd, Clementi, #12-345, 123456 - add Valid Name p/12345 e/valid@email.butInvalidUnit a/123, Clementi, asd, 123456 - add Valid Name p/12345 e/valid@email.butInvalidPostalCode a/123, Clementi, #12-345, asd - add Valid Name p/12345 e/valid@e.mail a/123, valid address, #12-345, 123456 t/invalid_-[.tag + add []\[;] p/12345 e/valid@e.mail a/valid, address + add Valid Name p/not_numbers e/valid@e.mail a/valid, address + add Valid Name p/12345 e/notAnEmail a/valid, address + add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag # should add correctly and list non private information - add Adam Brown p/111111 e/adam@gmail.com a/111, Bukit Batok, #01-02, 133456 + add Adam Brown p/111111 e/adam@gmail.com a/111, alpha street list - add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street, #14-234, 678901 t/secretive + add Betsy Choo pp/222222 pe/benchoo@nus.edu.sg pa/222, beta street t/secretive list - add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street, #21-456, 345678 t/friends t/school + add Charlie Dickson pp/333333 e/charlie.d@nus.edu.sg a/333, gamma street t/friends t/school list - add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street, #17-123, 456789 t/friends + add Dickson Ee p/444444 pe/dickson@nus.edu.sg a/444, delta street t/friends list - add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy + add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy list # should not allow adding duplicate persons - add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street, #13-890, 234567 t/tubers t/starchy + add Esther Potato p/555555 e/esther@not.a.real.potato pa/555, epsilon street t/tubers t/starchy ########################################################## # test view/viewall persons command diff --git a/test/java/seedu/addressbook/commands/AddCommandTest.java b/test/java/seedu/addressbook/commands/AddCommandTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/commands/DeleteCommandTest.java b/test/java/seedu/addressbook/commands/DeleteCommandTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/commands/FindCommandTest.java b/test/java/seedu/addressbook/commands/FindCommandTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/commands/ViewAllCommandTest.java b/test/java/seedu/addressbook/commands/ViewAllCommandTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/commands/ViewCommandTest.java b/test/java/seedu/addressbook/commands/ViewCommandTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/common/UtilsTest.java b/test/java/seedu/addressbook/common/UtilsTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/data/AddressBookTest.java b/test/java/seedu/addressbook/data/AddressBookTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/parser/ParserTest.java b/test/java/seedu/addressbook/parser/ParserTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/storage/StorageFileTest.java b/test/java/seedu/addressbook/storage/StorageFileTest.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/util/TestUtil.java b/test/java/seedu/addressbook/util/TestUtil.java old mode 100644 new mode 100755 diff --git a/test/java/seedu/addressbook/util/TypicalPersons.java b/test/java/seedu/addressbook/util/TypicalPersons.java old mode 100644 new mode 100755 diff --git a/test/runtests.bat b/test/runtests.bat old mode 100644 new mode 100755 From 9a57535aa18ef34937d4ad21d4b6a82b94eb550a Mon Sep 17 00:00:00 2001 From: Shawnclq Date: Mon, 12 Feb 2018 11:29:44 +0800 Subject: [PATCH 7/8] Revert master back to original addressbook2 --- doc/DeveloperGuide.md | 0 doc/Diagrams.pptx | Bin doc/LearningOutcomes.md | 0 doc/UserGuide.md | 6 +++--- doc/images/AddressClasses.png | Bin doc/images/ContactClassHierarchy.png | Bin doc/images/PrintableInterface.png | Bin doc/images/ReadOnlyPersonUsage.png | Bin doc/images/TaggingClass.png | Bin doc/images/TaggingsInTagging.png | Bin doc/images/mainClassDiagram.png | Bin 11 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 doc/DeveloperGuide.md mode change 100644 => 100755 doc/Diagrams.pptx mode change 100644 => 100755 doc/LearningOutcomes.md mode change 100644 => 100755 doc/UserGuide.md mode change 100644 => 100755 doc/images/AddressClasses.png mode change 100644 => 100755 doc/images/ContactClassHierarchy.png mode change 100644 => 100755 doc/images/PrintableInterface.png mode change 100644 => 100755 doc/images/ReadOnlyPersonUsage.png mode change 100644 => 100755 doc/images/TaggingClass.png mode change 100644 => 100755 doc/images/TaggingsInTagging.png mode change 100644 => 100755 doc/images/mainClassDiagram.png diff --git a/doc/DeveloperGuide.md b/doc/DeveloperGuide.md old mode 100644 new mode 100755 diff --git a/doc/Diagrams.pptx b/doc/Diagrams.pptx old mode 100644 new mode 100755 diff --git a/doc/LearningOutcomes.md b/doc/LearningOutcomes.md old mode 100644 new mode 100755 diff --git a/doc/UserGuide.md b/doc/UserGuide.md old mode 100644 new mode 100755 index 0db05d0c8..fcd5a7121 --- a/doc/UserGuide.md +++ b/doc/UserGuide.md @@ -35,7 +35,7 @@ Format: `help` ### Adding a person: `add` Adds a person to the address book
-Format: `add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/BLOCK, STREET, UNIT, POSTAL CODE [t/TAG]...` +Format: `add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/ADDRESS [t/TAG]...` > Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, > items with `...` after them can have multiple instances. Order of parameters are fixed. @@ -46,8 +46,8 @@ Format: `add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/BLOCK, STREET, UNIT, POSTAL > Persons can have any number of tags (including 0) Examples: -* `add John Doe p/98765432 e/johnd@gmail.com a/123, John Street, #01-01, 123456` -* `add Betsy Crowe pp/1234567 e/betsycrowe@gmail.com pa/456, Newgate Prison, #01-01, 123456 t/criminal t/friend` +* `add John Doe p/98765432 e/johnd@gmail.com a/John street, block 123, #01-01` +* `add Betsy Crowe pp/1234567 e/betsycrowe@gmail.com pa/Newgate Prison t/criminal t/friend` ### Listing all persons : `list` Shows a list of all persons in the address book.
diff --git a/doc/images/AddressClasses.png b/doc/images/AddressClasses.png old mode 100644 new mode 100755 diff --git a/doc/images/ContactClassHierarchy.png b/doc/images/ContactClassHierarchy.png old mode 100644 new mode 100755 diff --git a/doc/images/PrintableInterface.png b/doc/images/PrintableInterface.png old mode 100644 new mode 100755 diff --git a/doc/images/ReadOnlyPersonUsage.png b/doc/images/ReadOnlyPersonUsage.png old mode 100644 new mode 100755 diff --git a/doc/images/TaggingClass.png b/doc/images/TaggingClass.png old mode 100644 new mode 100755 diff --git a/doc/images/TaggingsInTagging.png b/doc/images/TaggingsInTagging.png old mode 100644 new mode 100755 diff --git a/doc/images/mainClassDiagram.png b/doc/images/mainClassDiagram.png old mode 100644 new mode 100755 From 425a37a37cd69526344d60391a2a1488f950e8ad Mon Sep 17 00:00:00 2001 From: Shawnclq <> Date: Wed, 14 Mar 2018 13:26:52 +0800 Subject: [PATCH 8/8] Add Tagging class --- src/seedu/addressbook/data/tag/Tagging.java | 93 +++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/seedu/addressbook/data/tag/Tagging.java diff --git a/src/seedu/addressbook/data/tag/Tagging.java b/src/seedu/addressbook/data/tag/Tagging.java new file mode 100644 index 000000000..fa6d0bbc9 --- /dev/null +++ b/src/seedu/addressbook/data/tag/Tagging.java @@ -0,0 +1,93 @@ +package seedu.addressbook.data.tag; + +import seedu.addressbook.data.person.Person; + +import java.util.ArrayList; +import java.util.Objects; + +/** + * Represents addition or deletion of tag for a person during a session + * + * Used for displaying tags changed at the end of a session + */ + +public class Tagging { + private static ArrayList taggings; + + public enum Action { + ADD, DELETE + } + + private static final String ADD_TAG_SIGN = "+"; + private static final String DELETE_TAG_SIGN = "-"; + + private final Person person; + private final Tag tag; + private final Action action; + + /** + * @param person person whose tag was changed + * @param tag tag that was changed + * @param action type of action executed + */ + public Tagging(Person person, Tag tag, Action action) { + this.person = person; + this.tag = tag; + this.action = action; + } + + /** + * Adds tagging to class-level variable that stores all taggings + */ + public static void addTagging(Tagging tagging) { + taggings.add(tagging); + } + + /** + * Accessor method for obtaining taggings. + * @return all Taggings, representing all changes made to tags since start of session + */ + public static ArrayList getTaggings() { + return taggings; + } + + public Person getPerson() { + return person; + } + + public Tag getTag() { + return tag; + } + + public Action getAction() { + return action; + } + + @Override + public boolean equals(Object obj) { + return obj == this // short circuit if same object + || obj instanceof Tagging // instanceof handles null + && ((Tagging) obj).getPerson().equals(this.person) + && ((Tagging) obj).getTag().equals(this.tag) + && ((Tagging) obj).getAction().equals(this.getAction()); + } + + @Override + public int hashCode() { + return Objects.hash(person, tag, action); + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + + if (this.action == Action.ADD) { + builder.append(ADD_TAG_SIGN); + } else { + builder.append(DELETE_TAG_SIGN); + } + + builder.append(" " + person.getName() + " " + tag); + return builder.toString(); + } +} \ No newline at end of file