Procházet zdrojové kódy

Merge e0e539804c47c373179814e9a13cb526e328ceaf into 0665dd6f3de2bb92a7f856bde34efac87df0531f

bell7692 před 8 roky
rodič
revize
fdfc3c5fac
No account linked to committer's email

+ 55
- 7
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java Zobrazit soubor

@@ -1,7 +1,9 @@
1 1
 package com.zipcodewilmington.phone;
2 2
 
3 3
 import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
4
+import com.zipcodewilmington.tools.RandomNumberFactory;
4 5
 
6
+import java.util.Random;
5 7
 import java.util.logging.Logger;
6 8
 
7 9
 /**
@@ -19,15 +21,20 @@ public final class PhoneNumberFactory {
19 21
      * @param phoneNumberCount - number of PhoneNumber objects to instantiate
20 22
      * @return array of randomly generated PhoneNumber objects
21 23
      */ //TODO - Implement logic
22
-    public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) {
23
-        return null;
24
+    public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) throws InvalidPhoneNumberFormatException {
25
+        PhoneNumber[] phoneNumbers = new PhoneNumber[phoneNumberCount];
26
+        for (int i = 0; i < phoneNumbers.length; i++){
27
+            phoneNumbers[i]= createRandomPhoneNumber();
28
+        }
29
+        return phoneNumbers;
24 30
     }
25 31
 
26 32
     /**
27 33
      * @return an instance of PhoneNumber with randomly generated phone number value
28 34
      */ //TODO - Implement logic
29
-    public static PhoneNumber createRandomPhoneNumber() {
30
-        return createPhoneNumberSafely(-1, -1, -1);
35
+    public static PhoneNumber createRandomPhoneNumber() throws InvalidPhoneNumberFormatException {
36
+        Random rand = new Random();
37
+       return createPhoneNumberSafely(RandomNumberFactory.createInteger(100, 999),RandomNumberFactory.createInteger(100, 999),RandomNumberFactory.createInteger(1000, 9999));
31 38
     }
32 39
 
33 40
 
@@ -38,7 +45,16 @@ public final class PhoneNumberFactory {
38 45
      * @return a new phone number object
39 46
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
40 47
     public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
41
-        return createPhoneNumber(null);
48
+        StringBuilder sb = new StringBuilder();
49
+        sb.append(String.format("(%3d)-%3d-%4d", areaCode, centralOfficeCode, phoneLineCode));
50
+        try{
51
+            return createPhoneNumber(sb.toString());
52
+
53
+        }
54
+        catch (InvalidPhoneNumberFormatException e){
55
+            logger.config("(###)-###-#### is not a valid phone number");
56
+        }
57
+        return null;
42 58
     }
43 59
 
44 60
     /**
@@ -46,7 +62,39 @@ public final class PhoneNumberFactory {
46 62
      * @return a new phone number object
47 63
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48 64
      */ // TODO - Add throws statement to method signature
49
-    public static PhoneNumber createPhoneNumber(String phoneNumberString) {
50
-        return null;
65
+    public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException {
66
+
67
+        PhoneNumber phoneNumber = new PhoneNumber(phoneNumberString);
68
+        logger.config("Attempting to create a new PhoneNumber object with a value of (###)-###-####");
69
+       return phoneNumber;
51 70
     }
52 71
 }
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+

+ 1
- 1
src/test/java/com/zipcodewilmington/PhoneNumberFactoryTest.java Zobrazit soubor

@@ -78,7 +78,7 @@ public class PhoneNumberFactoryTest {
78 78
     }
79 79
 
80 80
     @Test
81
-    public void testCreateRandomPhoneNumber() {
81
+    public void testCreateRandomPhoneNumber() throws InvalidPhoneNumberFormatException {
82 82
         for (int i = 0; i < 999; i++) {
83 83
             // : Given
84 84
             // : When