Kris Blassingame 8 лет назад
Родитель
Сommit
619d39e4e0

+ 1
- 1
src/main/java/com/zipcodewilmington/phone/PhoneNumber.java Просмотреть файл

@@ -32,7 +32,7 @@ public final class PhoneNumber {
32 32
 
33 33
     public String getPhoneLineCode() {
34 34
         return toString().substring(10, 14);
35
-}
35
+    }
36 36
 
37 37
     @Override
38 38
     public String toString() {

+ 31
- 6
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.zipcodewilmington.phone;
2 2
 
3 3
 import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
4 4
 
5
+import java.util.ArrayList;
5 6
 import java.util.logging.Logger;
6 7
 
7 8
 /**
@@ -20,14 +21,19 @@ 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
+        ArrayList<PhoneNumber> randNumList = new ArrayList();
25
+        randNumList.add(createRandomPhoneNumber(phoneNumberCount));
26
+        PhoneNumber[] num = (PhoneNumber[]) randNumList.toArray();
27
+        return num;
24 28
     }
25 29
 
26 30
     /**
27 31
      * @return an instance of PhoneNumber with randomly generated phone number value
28 32
      */ //TODO - Implement logic
29
-    public static PhoneNumber createRandomPhoneNumber() {
30
-        return createPhoneNumberSafely(-1, -1, -1);
33
+    public static PhoneNumber createRandomPhoneNumber(int nums) {
34
+        double number1 = Math.floor(100 + Math.random() * 900);
35
+        double number2 = Math.floor(1000 + Math.random() * 9000);
36
+        return createPhoneNumberSafely((int) number1, (int) number1, (int) number2);
31 37
     }
32 38
 
33 39
 
@@ -38,15 +44,34 @@ public final class PhoneNumberFactory {
38 44
      * @return a new phone number object
39 45
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
40 46
     public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
41
-        return createPhoneNumber(null);
47
+        try {
48
+            String phoneNumber = "(" + areaCode + ")-" + centralOfficeCode + "-" + phoneLineCode;
49
+            return createPhoneNumber(phoneNumber);
50
+        } catch
51
+                (InvalidPhoneNumberFormatException e) {
52
+            logger.finest("(###)-###-#### is not a valid phone number");
53
+
54
+            e.printStackTrace();
55
+        }
56
+        return null;
57
+
42 58
     }
43 59
 
60
+
44 61
     /**
45 62
      * @param phoneNumberString - some String corresponding to a phone number whose format is `(###)-###-####`
46 63
      * @return a new phone number object
47 64
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48 65
      */ // TODO - Add throws statement to method signature
49
-    public static PhoneNumber createPhoneNumber(String phoneNumberString) {
50
-        return null;
66
+    public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException {
67
+        PhoneNumber phoneNumber = new PhoneNumber(phoneNumberString);
68
+
69
+        logger.finest("Attempting to create a new PhoneNumber object with a value of (###)-###-####");
70
+
71
+        return phoneNumber;
51 72
     }
73
+
74
+
52 75
 }
76
+
77
+

+ 2
- 1
src/test/java/com/zipcodewilmington/PhoneNumberFactoryTest.java Просмотреть файл

@@ -79,10 +79,11 @@ public class PhoneNumberFactoryTest {
79 79
 
80 80
     @Test
81 81
     public void testCreateRandomPhoneNumber() {
82
+        int x =0;
82 83
         for (int i = 0; i < 999; i++) {
83 84
             // : Given
84 85
             // : When
85
-            PhoneNumber phoneNumber = PhoneNumberFactory.createRandomPhoneNumber();
86
+            PhoneNumber phoneNumber = PhoneNumberFactory.createRandomPhoneNumber(x);
86 87
 
87 88
             // : Then
88 89
             Assert.assertTrue(phoneNumber != null);