diff options
| author | mokha <mokha@cisco.com> | 2019-04-28 13:37:32 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2019-04-28 13:37:32 -0600 |
| commit | d4c74056ceffda4ea3fca79ee9cab5cfbbd20dc5 (patch) | |
| tree | 27f27419eb6c2b85c0396592e01b8cdf330e558d | |
| parent | 8794437d93ff99056ac3fce2acaddc91aff3f959 (diff) | |
implement java comparable interface.
| -rw-r--r-- | assignments/assignment1/src/main/java/ca/mokhan/assignment1/AddressBook.java | 20 | ||||
| -rw-r--r-- | assignments/assignment1/src/test/java/ca/mokhan/assignment1/AddressBookTest.java | 23 |
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); + } } |
