summaryrefslogtreecommitdiff
path: root/assignments
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-04-28 13:37:32 -0600
committermokha <mokha@cisco.com>2019-04-28 13:37:32 -0600
commitd4c74056ceffda4ea3fca79ee9cab5cfbbd20dc5 (patch)
tree27f27419eb6c2b85c0396592e01b8cdf330e558d /assignments
parent8794437d93ff99056ac3fce2acaddc91aff3f959 (diff)
implement java comparable interface.
Diffstat (limited to 'assignments')
-rw-r--r--assignments/assignment1/src/main/java/ca/mokhan/assignment1/AddressBook.java20
-rw-r--r--assignments/assignment1/src/test/java/ca/mokhan/assignment1/AddressBookTest.java23
2 files changed, 39 insertions, 4 deletions
diff --git a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/AddressBook.java b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/AddressBook.java
index 0e529b0..9f34614 100644
--- a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/AddressBook.java
+++ b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/AddressBook.java
@@ -1,15 +1,15 @@
package ca.mokhan.assignment1;
-public class AddressBook
+public class AddressBook implements Comparable<AddressBook>
{
private String businessPhone;
private String cellPhone;
private String facebookId;
- private String firstName;
+ private String firstName = "";
private String homeAddress;
private String homePhone;
- private String lastName;
- private String middleName;
+ private String lastName = "";
+ private String middleName = "";
private String personalWebSite;
private String skypeId;
@@ -34,4 +34,16 @@ public class AddressBook
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);
+ }
}
diff --git a/assignments/assignment1/src/test/java/ca/mokhan/assignment1/AddressBookTest.java b/assignments/assignment1/src/test/java/ca/mokhan/assignment1/AddressBookTest.java
index 4f363b8..ed3d6f2 100644
--- a/assignments/assignment1/src/test/java/ca/mokhan/assignment1/AddressBookTest.java
+++ b/assignments/assignment1/src/test/java/ca/mokhan/assignment1/AddressBookTest.java
@@ -78,4 +78,27 @@ public class AddressBookTest extends TestCase
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);
+ }
}