Commit a7169ed

mokha <mokha@cisco.com>
2019-05-14 01:29:39
extract method to convert a name to an address book.
1 parent 1703953
Changed files (1)
src/Q1/AddressBook.java
@@ -268,6 +268,27 @@ public class AddressBook implements Comparable<AddressBook> {
     this.skypeId = value;
   }
 
+  /**
+   * Converts a name to an Address Book.
+   *
+   * @param name the name to parse.
+   * @return an AddressBook instance.
+   */
+  public static AddressBook parseFrom(String name) {
+    String[] parts = name.split(" ");
+
+    switch (parts.length) {
+      case 1:
+        return new AddressBook(parts[0]);
+      case 2:
+        return new AddressBook(parts[0], "", parts[1]);
+      case 3:
+        return new AddressBook(parts[0], parts[1], parts[2]);
+      default:
+        return new AddressBook();
+    }
+  }
+
   /**
    * Compares name1 with name2 and returns a string representation. Returns a negative value if
    * name1 is less than name2. Returns a positive value if name1 is greater than name2. Returns a
@@ -278,7 +299,7 @@ public class AddressBook implements Comparable<AddressBook> {
    * @return string version of -1, 0, 1
    */
   public static String compareNames(String name1, String name2) {
-    return Integer.toString(name1.compareTo(name2));
+    return Integer.toString(parseFrom(name1).compareTo(parseFrom(name2)));
   }
 
   /**