Commit d4c7405
Changed files (2)
assignments
assignment1
src
main
java
ca
mokhan
assignment1
test
java
ca
mokhan
assignment1
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);
+ }
}
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);
+ }
}