Vincent Gasbarro před 8 roky
rodič
revize
ab0c36ec3e

+ 20
- 6
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java Zobrazit soubor

@@ -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.io.IOException;
6 7
 import java.util.logging.Logger;
@@ -21,14 +22,24 @@ public final class PhoneNumberFactory {
21 22
      * @return array of randomly generated PhoneNumber objects
22 23
      */ //TODO - Implement logic
23 24
     public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) {
24
-        return null;
25
+        PhoneNumber[] phoneNumbers = new PhoneNumber[phoneNumberCount];
26
+
27
+        for (int i = 0; i < phoneNumbers.length; i++) {
28
+            phoneNumbers[i] = createRandomPhoneNumber();
29
+        }
30
+
31
+        return phoneNumbers;
25 32
     }
26 33
 
27 34
     /**
28 35
      * @return an instance of PhoneNumber with randomly generated phone number value
29 36
      */ //TODO - Implement logic
30 37
     public static PhoneNumber createRandomPhoneNumber() {
31
-        return createPhoneNumberSafely(-1, -1, -1);
38
+        int areaCode = RandomNumberFactory.createInteger(100, 999);
39
+        int centralOfficeCode = RandomNumberFactory.createInteger(100, 999);
40
+        int phoneLineCode = RandomNumberFactory.createInteger(1000, 9999);
41
+
42
+        return createPhoneNumberSafely(areaCode, centralOfficeCode, phoneLineCode);
32 43
     }
33 44
 
34 45
 
@@ -39,16 +50,17 @@ public final class PhoneNumberFactory {
39 50
      * @return a new phone number object
40 51
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
41 52
     public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
42
-        
53
+
43 54
         String phoneNumber = "(" + areaCode + ")" + "-" + centralOfficeCode + "-" + phoneLineCode;
44 55
 
56
+        logger.config(phoneNumber + " is not a valid phone number");
57
+
45 58
         try {
46 59
             return createPhoneNumber(phoneNumber);
47 60
 
48 61
         } catch (InvalidPhoneNumberFormatException ipnfe) {
49 62
             return null;
50 63
         }
51
-
52 64
     }
53 65
 
54 66
     /**
@@ -57,8 +69,10 @@ public final class PhoneNumberFactory {
57 69
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
58 70
      */ // TODO - Add throws statement to method signature
59 71
     public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException {
60
-        PhoneNumber pn = new PhoneNumber(phoneNumberString);
61 72
 
62
-        return pn;
73
+        logger.config("Attempting to create a new PhoneNumber object with a value of " + phoneNumberString);
74
+
75
+        return new PhoneNumber(phoneNumberString);
76
+
63 77
     }
64 78
 }