summaryrefslogtreecommitdiff
path: root/src/Q1
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-05 19:57:14 -0600
committermokha <mokha@cisco.com>2019-05-05 19:57:14 -0600
commit7b4cb6a2eef3a0fcde7e998832427c73599e4a0a (patch)
tree75acc7cd8f3bd8a087e909db182c9e18a66879a1 /src/Q1
parent99a28d2dba93642e89a62ecf905a3bd4f138318d (diff)
use the exact naming convention for directories described by instructor
Diffstat (limited to 'src/Q1')
-rw-r--r--src/Q1/AddressBook.java178
-rw-r--r--src/Q1/AddressBookTest.java92
2 files changed, 270 insertions, 0 deletions
diff --git a/src/Q1/AddressBook.java b/src/Q1/AddressBook.java
new file mode 100644
index 0000000..9fcfa82
--- /dev/null
+++ b/src/Q1/AddressBook.java
@@ -0,0 +1,178 @@
+package ca.mokhan.assignment1;
+
+import java.util.Objects;
+
+public class AddressBook implements Comparable<AddressBook> {
+ private String businessPhone;
+ private String cellPhone;
+ private String facebookId;
+ private String firstName = "";
+ private String homeAddress;
+ private String homePhone;
+ private String lastName = "";
+ private String middleName = "";
+ private String personalWebSite;
+ private String skypeId;
+
+ public AddressBook() {
+ this("");
+ }
+
+ public AddressBook(String firstName) {
+ this(firstName, "", "");
+ }
+
+ public AddressBook(String firstName, String middleName, String lastName) {
+ this(firstName, middleName, lastName, "", "", "", "", "", "", "");
+ }
+
+ public AddressBook(
+ String firstName,
+ String middleName,
+ String lastName,
+ String businessPhone,
+ String cellPhone,
+ String facebookId,
+ String homeAddress,
+ String homePhone,
+ String personalWebSite,
+ String skypeId) {
+ this.businessPhone = businessPhone;
+ this.cellPhone = cellPhone;
+ this.facebookId = facebookId;
+ this.firstName = firstName;
+ this.homeAddress = homeAddress;
+ this.homePhone = homePhone;
+ this.lastName = lastName;
+ this.middleName = middleName;
+ this.personalWebSite = personalWebSite;
+ this.skypeId = skypeId;
+ }
+
+ public String getBusinessPhone() {
+ return this.businessPhone;
+ }
+
+ public String getCellPhone() {
+ return this.cellPhone;
+ }
+
+ public String getFacebookId() {
+ return this.facebookId;
+ }
+
+ public String getFirstName() {
+ return this.firstName;
+ }
+
+ public String getHomeAddress() {
+ return this.homeAddress;
+ }
+
+ public String getHomePhone() {
+ return this.homePhone;
+ }
+
+ public String getLastName() {
+ return this.lastName;
+ }
+
+ public String getMiddleName() {
+ return this.middleName;
+ }
+
+ public String getPersonalWebSite() {
+ return this.personalWebSite;
+ }
+
+ public String getSkypeId() {
+ return this.skypeId;
+ }
+
+ public void setBusinessPhone(String value) {
+ this.businessPhone = value;
+ }
+
+ public void setCellPhone(String value) {
+ this.cellPhone = value;
+ }
+
+ public void setFacebookId(String value) {
+ this.facebookId = value;
+ }
+
+ public void setFirstName(String name) {
+ this.firstName = name;
+ }
+
+ public void setHomeAddress(String address) {
+ this.homeAddress = address;
+ }
+
+ public void setHomePhone(String value) {
+ this.homePhone = value;
+ }
+
+ public void setLastName(String name) {
+ this.lastName = name;
+ }
+
+ public void setMiddleName(String name) {
+ this.middleName = name;
+ }
+
+ public void setPersonalWebSite(String value) {
+ this.personalWebSite = value;
+ }
+
+ public void setSkypeId(String value) {
+ this.skypeId = value;
+ }
+
+ public static String compareNames(String name1, String name2) {
+ return Integer.toString(name1.compareTo(name2));
+ }
+
+ public int compareTo(AddressBook other) {
+ return this.firstName.compareTo(other.firstName)
+ + this.middleName.compareTo(other.middleName)
+ + this.lastName.compareTo(other.lastName);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof AddressBook)) return false;
+ AddressBook that = (AddressBook) o;
+ return Objects.equals(businessPhone, that.businessPhone)
+ && Objects.equals(cellPhone, that.cellPhone)
+ && Objects.equals(facebookId, that.facebookId)
+ && Objects.equals(firstName, that.firstName)
+ && Objects.equals(homeAddress, that.homeAddress)
+ && Objects.equals(homePhone, that.homePhone)
+ && Objects.equals(lastName, that.lastName)
+ && Objects.equals(middleName, that.middleName)
+ && Objects.equals(personalWebSite, that.personalWebSite)
+ && Objects.equals(skypeId, that.skypeId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ businessPhone,
+ cellPhone,
+ facebookId,
+ firstName,
+ homeAddress,
+ homePhone,
+ lastName,
+ middleName,
+ personalWebSite,
+ skypeId);
+ }
+
+ @Override
+ public String toString() {
+ return this.firstName;
+ }
+}
diff --git a/src/Q1/AddressBookTest.java b/src/Q1/AddressBookTest.java
new file mode 100644
index 0000000..fc2361d
--- /dev/null
+++ b/src/Q1/AddressBookTest.java
@@ -0,0 +1,92 @@
+package ca.mokhan.assignment1;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class AddressBookTest extends TestCase {
+ private AddressBook subject;
+
+ public AddressBookTest(String testName) {
+ super(testName);
+ this.subject = new AddressBook();
+ }
+
+ public static Test suite() {
+ return new TestSuite(AddressBookTest.class);
+ }
+
+ public void testFirstName() {
+ subject.setFirstName("mo");
+ assertEquals(subject.getFirstName(), "mo");
+ }
+
+ public void testMiddleName() {
+ subject.setMiddleName("tsuyoshi");
+ assertEquals(subject.getMiddleName(), "tsuyoshi");
+ }
+
+ public void testLastName() {
+ subject.setLastName("garrett");
+ assertEquals(subject.getLastName(), "garrett");
+ }
+
+ public void testHomeAddress() {
+ subject.setHomeAddress("1 University Dr, Athabasca, AB T9S 3A3");
+ assertEquals(subject.getHomeAddress(), "1 University Dr, Athabasca, AB T9S 3A3");
+ }
+
+ public void testBusinessPhone() {
+ subject.setBusinessPhone("1-800-788-9041");
+ assertEquals(subject.getBusinessPhone(), "1-800-788-9041");
+ }
+
+ public void testHomePhone() {
+ subject.setHomePhone("1-800-788-9041");
+ assertEquals(subject.getHomePhone(), "1-800-788-9041");
+ }
+
+ public void testCellPhone() {
+ subject.setCellPhone("1-800-788-9041");
+ assertEquals(subject.getCellPhone(), "1-800-788-9041");
+ }
+
+ public void testSkypeId() {
+ subject.setSkypeId("1-800-788-9041");
+ assertEquals(subject.getSkypeId(), "1-800-788-9041");
+ }
+
+ public void testFacebookId() {
+ subject.setFacebookId("1-800-788-9041");
+ assertEquals(subject.getFacebookId(), "1-800-788-9041");
+ }
+
+ public void testPersonalWebsite() {
+ subject.setPersonalWebSite("https://www.mokhan.ca/");
+ assertEquals(subject.getPersonalWebSite(), "https://www.mokhan.ca/");
+ }
+
+ public void testCompareNames() {
+ assertTrue(
+ Integer.parseInt(AddressBook.compareNames("Tsuyoshi M. Garret", "Takashi Shirogane")) > 0);
+ assertTrue(
+ Integer.parseInt(AddressBook.compareNames("Takashi Shirogane", "Tsuyoshi M. Garret")) < 0);
+ assertTrue(
+ Integer.parseInt(AddressBook.compareNames("Tsuyoshi Garret", "Tsuyoshi Garret")) == 0);
+ }
+
+ public void testCompareTo() {
+ AddressBook hunk = new AddressBook();
+ hunk.setFirstName("Tsuyoshi");
+ hunk.setLastName("Garrett");
+
+ AddressBook shiro = new AddressBook();
+ shiro.setFirstName("Takashi");
+ shiro.setLastName("Shirogane");
+
+ assertTrue(hunk.compareTo(shiro) > 0);
+ assertTrue(shiro.compareTo(hunk) < 0);
+ assertTrue(hunk.compareTo(hunk) == 0);
+ assertTrue(shiro.compareTo(shiro) == 0);
+ }
+}