#24 DONE

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

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

@@ -0,0 +1,17 @@
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,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,18 @@ 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> 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 32
      * @return an instance of PhoneNumber with randomly generated phone number value
28 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,9 +41,17 @@ public final class PhoneNumberFactory {
36 41
      * @param centralOfficeCode - 3 digit code
37 42
      * @param phoneLineCode     - 4 digit code
38 43
      * @return a new phone number object
44
+     * (###)-###-####`
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 (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,7 +59,9 @@ public final class PhoneNumberFactory {
46 59
      * @return a new phone number object
47 60
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48 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,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
-            // : When
85
-            PhoneNumber phoneNumber = PhoneNumberFactory.createRandomPhoneNumber();
85
+            // : Whengit
86
+            PhoneNumber phoneNumber = PhoneNumberFactory.createRandomPhoneNumber(x);
86 87
 
87 88
             // : Then
88 89
             Assert.assertTrue(phoneNumber != null);