#24 DONE

オープン
Ksaboor が 5 個のコミットを Ksaboor/CR-MicroLabs-ExceptionsAndLogging:master から master へマージしようとしています

+ 17
- 0
src/main/java/Untitled ファイルの表示

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Diagram>
3
+  <ID>JAVA</ID>
4
+  <OriginalElement />
5
+  <nodes />
6
+  <notes />
7
+  <edges />
8
+  <settings layout="Hierarchic Group" zoom="1.0" x="0.0" y="0.0" />
9
+  <SelectedNodes />
10
+  <Categories>
11
+    <Category>Fields</Category>
12
+    <Category>Constructors</Category>
13
+    <Category>Methods</Category>
14
+  </Categories>
15
+  <SCOPE>All</SCOPE>
16
+</Diagram>
17
+

+ 21
- 6
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java ファイルの表示

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> phoneNumbers = new ArrayList();
25
+        phoneNumbers.add(createRandomPhoneNumber(phoneNumberCount));
26
+        PhoneNumber [] phoneNumbers1 = (PhoneNumber[])phoneNumbers.toArray();
27
+        return phoneNumbers1;
24
     }
28
     }
25
 
29
 
26
     /**
30
     /**
31
+     * Student[] studentArray = new Student[7];
27
      * @return an instance of PhoneNumber with randomly generated phone number value
32
      * @return an instance of PhoneNumber with randomly generated phone number value
28
      */ //TODO - Implement logic
33
      */ //TODO - Implement logic
29
-    public static PhoneNumber createRandomPhoneNumber() {
30
-        return createPhoneNumberSafely(-1, -1, -1);
34
+    public static PhoneNumber createRandomPhoneNumber(int numbers) {
35
+        return createPhoneNumberSafely((int) Math.floor(111 + Math.random() * 111), (int) Math.floor(111 + Math.random() * 213), (int) Math.floor(1111 + Math.random() * 1111));
31
     }
36
     }
32
 
37
 
33
 
38
 
36
      * @param centralOfficeCode - 3 digit code
41
      * @param centralOfficeCode - 3 digit code
37
      * @param phoneLineCode     - 4 digit code
42
      * @param phoneLineCode     - 4 digit code
38
      * @return a new phone number object
43
      * @return a new phone number object
44
+     * (###)-###-####`
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 (InvalidPhoneNumberFormatException e) {
51
+            logger.warning("(###)-###-#### is not a valid phone number");
52
+            e.printStackTrace();
53
+        }
54
+        return null;
42
     }
55
     }
43
 
56
 
44
     /**
57
     /**
46
      * @return a new phone number object
59
      * @return a new phone number object
47
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
60
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48
      */ // TODO - Add throws statement to method signature
61
      */ // TODO - Add throws statement to method signature
49
-    public static PhoneNumber createPhoneNumber(String phoneNumberString) {
50
-        return null;
62
+    public static PhoneNumber createPhoneNumber(String phoneNumberString) throws  InvalidPhoneNumberFormatException{
63
+        PhoneNumber phoneNumber = new  PhoneNumber(phoneNumberString);
64
+        logger.warning("Attempting to create a new PhoneNumber object with a value of (###)-###-####");
65
+        return phoneNumber;
51
     }
66
     }
52
 }
67
 }

+ 3
- 2
src/test/java/com/zipcodewilmington/PhoneNumberFactoryTest.java ファイルの表示

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
-            PhoneNumber phoneNumber = PhoneNumberFactory.createRandomPhoneNumber();
85
+            // : Whengit
86
+            PhoneNumber phoneNumber = PhoneNumberFactory.createRandomPhoneNumber(x);
86
 
87
 
87
             // : Then
88
             // : Then
88
             Assert.assertTrue(phoneNumber != null);
89
             Assert.assertTrue(phoneNumber != null);