Kris Blassingame vor 8 Jahren
Ursprung
Commit
619d39e4e0

+ 1
- 1
src/main/java/com/zipcodewilmington/phone/PhoneNumber.java Datei anzeigen

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

+ 31
- 6
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java Datei anzeigen

2
 
2
 
3
 import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
3
 import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
4
 
4
 
5
+import java.util.ArrayList;
5
 import java.util.logging.Logger;
6
 import java.util.logging.Logger;
6
 
7
 
7
 /**
8
 /**
20
      * @return array of randomly generated PhoneNumber objects
21
      * @return array of randomly generated PhoneNumber objects
21
      */ //TODO - Implement logic
22
      */ //TODO - Implement logic
22
     public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) {
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
      * @return an instance of PhoneNumber with randomly generated phone number value
31
      * @return an instance of PhoneNumber with randomly generated phone number value
28
      */ //TODO - Implement logic
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
      * @return a new phone number object
44
      * @return a new phone number object
39
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
45
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
40
     public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
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
      * @param phoneNumberString - some String corresponding to a phone number whose format is `(###)-###-####`
62
      * @param phoneNumberString - some String corresponding to a phone number whose format is `(###)-###-####`
46
      * @return a new phone number object
63
      * @return a new phone number object
47
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
64
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48
      */ // TODO - Add throws statement to method signature
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 Datei anzeigen

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