Selaa lähdekoodia

methods written, tests passed

Jacob Andersen 7 vuotta sitten
vanhempi
commit
76367cc3eb

+ 26
- 5
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java Näytä tiedosto

@@ -1,6 +1,7 @@
1 1
 package com.zipcodewilmington.phone;
2 2
 
3 3
 import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
4
+import com.zipcodewilmington.tools.RandomNumberFactory;
4 5
 
5 6
 import java.util.logging.Logger;
6 7
 
@@ -20,14 +21,24 @@ public final class PhoneNumberFactory {
20 21
      * @return array of randomly generated PhoneNumber objects
21 22
      */ //TODO - Implement logic
22 23
     public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) {
23
-        return null;
24
+        PhoneNumber [] phonenums = new PhoneNumber[phoneNumberCount];
25
+
26
+        for (int i=0;i<phoneNumberCount;i++)
27
+        {
28
+        phonenums[i]=createRandomPhoneNumber();
29
+        }
30
+        return phonenums;
24 31
     }
25 32
 
26 33
     /**
27 34
      * @return an instance of PhoneNumber with randomly generated phone number value
28 35
      */ //TODO - Implement logic
29 36
     public static PhoneNumber createRandomPhoneNumber() {
30
-        return createPhoneNumberSafely(-1, -1, -1);
37
+        int areaCode = RandomNumberFactory.createInteger(100,999);
38
+        int centralOfficeCode = RandomNumberFactory.createInteger(100,999);
39
+        int phoneLineCode = RandomNumberFactory.createInteger(1000,9999);
40
+
41
+        return createPhoneNumberSafely(areaCode, centralOfficeCode, phoneLineCode);
31 42
     }
32 43
 
33 44
 
@@ -38,7 +49,15 @@ public final class PhoneNumberFactory {
38 49
      * @return a new phone number object
39 50
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
40 51
     public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
41
-        return createPhoneNumber(null);
52
+
53
+        String str = "("+areaCode+")-" +centralOfficeCode+"-"+phoneLineCode;
54
+        try {
55
+            PhoneNumber phoneNumber = createPhoneNumber(str);
56
+            return phoneNumber;
57
+        } catch (InvalidPhoneNumberFormatException ipnfe) {
58
+            logger.warning(str +" is not a valid phone number");
59
+            return null;
60
+        }
42 61
     }
43 62
 
44 63
     /**
@@ -46,7 +65,9 @@ public final class PhoneNumberFactory {
46 65
      * @return a new phone number object
47 66
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48 67
      */ // TODO - Add throws statement to method signature
49
-    public static PhoneNumber createPhoneNumber(String phoneNumberString) {
50
-        return null;
68
+    public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException {
69
+        logger.info("Attempting to create a new PhoneNumber object with a value of "+phoneNumberString);
70
+        return new PhoneNumber(phoneNumberString);
71
+
51 72
     }
52 73
 }