Karousha Fennimore 6 年 前
コミット
6a9a6bccc1

+ 9
- 1
pom.xml ファイルの表示

@@ -8,5 +8,13 @@
8 8
     <artifactId>phonebok</artifactId>
9 9
     <version>1.0-SNAPSHOT</version>
10 10
 
11
-
11
+    <dependencies>
12
+    <!-- https://mvnrepository.com/artifact/junit/junit -->
13
+    <dependency>
14
+        <groupId>junit</groupId>
15
+        <artifactId>junit</artifactId>
16
+        <version>4.12</version>
17
+        <scope>test</scope>
18
+    </dependency>
19
+    </dependencies>
12 20
 </project>

+ 30
- 0
src/main/java/com/zipcodewilmington/phonebook/Person.java ファイルの表示

@@ -0,0 +1,30 @@
1
+package com.zipcodewilmington.phonebook;
2
+
3
+public class Person {
4
+
5
+    private String name;
6
+    private String number;
7
+
8
+    public Person(String name, String number) {
9
+        this.name = name;
10
+        this.number = number;
11
+    }
12
+
13
+    public String getName() {
14
+        return name;
15
+    }
16
+
17
+    public void setName(String name) {
18
+        this.name = name;
19
+    }
20
+
21
+    public String getNumber() {
22
+        return number;
23
+    }
24
+
25
+    public void setNumber(String number) {
26
+        this.number = number;
27
+    }
28
+
29
+}
30
+

+ 28
- 0
src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java ファイルの表示

@@ -1,7 +1,35 @@
1 1
 package com.zipcodewilmington.phonebook;
2 2
 
3
+import java.util.Set;
4
+import java.util.TreeMap;
3 5
 /**
4 6
  * Created by leon on 1/23/18.
5 7
  */
6 8
 public class PhoneBook {
9
+
10
+    TreeMap phMap;
11
+
12
+    public PhoneBook() {
13
+        this.phMap = new TreeMap();
14
+    }
15
+
16
+    public void add(String name, String number) {
17
+        phMap.put(name, number);
18
+    }
19
+
20
+    public void remove(String name) {
21
+
22
+        phMap.remove(name);
23
+    }
24
+    public String lookup(String name) {
25
+        return (String)phMap.get(name);
26
+
27
+    }
28
+    public Set listNames () {
29
+        return phMap.keySet();
30
+    }
31
+    public Set listRecords() {
32
+        return phMap.entrySet();
33
+    }
7 34
 }
35
+

+ 37
- 0
src/test/java/com/zipcodewilmington/phonebook/PersonTest.java ファイルの表示

@@ -0,0 +1,37 @@
1
+package com.zipcodewilmington.phonebook;
2
+import org.junit.Assert.*;
3
+import org.junit.Test;
4
+
5
+//import static org.junit.Assert.assertTrue;
6
+//
7
+///**
8
+// * Created by Kay.
9
+// */
10
+//public class PersonTest {
11
+//
12
+//        @Test
13
+//        public void getNameTest() {
14
+//            Person person = new Person();
15
+//            person.setName("Kay");
16
+//            assertTrue(person.getName().equalsIgnoreCase("Kay"));
17
+//        }
18
+//
19
+//        @Test
20
+//        public void setNameTest() {
21
+//            Person person = new Person();
22
+//            person.getName("Kay");
23
+//            assertTrue(person.setName().equalsIgnoreCase("Kay"));
24
+//        }
25
+//        @Test
26
+//        public void getNumberTest() {
27
+//            Person person = new Person();
28
+//            person.getNumber("123");
29
+//            assertTrue(person.setNumber().equals("123"));
30
+//        }
31
+//        @Test
32
+//        public void setNumberTest() {
33
+//            Person person = new Person();
34
+//            person.setNumber("123");
35
+//            assertTrue(person.getNumber().equalsIgnoreCase("123"));
36
+//        }
37
+//}

+ 112
- 2
src/test/java/com/zipcodewilmington/phonebook/PhoneBookTest.java ファイルの表示

@@ -1,7 +1,117 @@
1 1
 package com.zipcodewilmington.phonebook;
2
+import org.junit.Assert;
3
+import org.junit.Test;
4
+import java.util.*;
2 5
 
3 6
 /**
4
- * Created by leon on 1/23/18.
7
+ * Created by Kay.
5 8
  */
6 9
 public class PhoneBookTest {
7
-}
10
+//instantiating new object for each test so that they are not reliant on each other. unique...
11
+    @Test
12
+    public void addTest() {
13
+        PhoneBook phTest = new PhoneBook();
14
+        String name = "Kay";
15
+        String number = "1234567890";
16
+        phTest.add(name, number);
17
+        Assert.assertTrue(phTest.lookup(name).equals(number));
18
+    }
19
+
20
+    @Test
21
+    public void addFailTest() {
22
+        PhoneBook phTest = new PhoneBook();
23
+        String name = "Kay";
24
+        String number = "1234567890";
25
+        phTest.add(name, number);
26
+        Assert.assertTrue(phTest.lookup("Pony") == null);
27
+    }
28
+
29
+    @Test
30
+    public void removeTest() {
31
+        PhoneBook phTest = new PhoneBook();
32
+        String name = "Bob";
33
+        String number = "3456784523";
34
+        //adding a test value key pair to test for removal
35
+        phTest.add(name, number);
36
+        Assert.assertTrue(phTest.lookup(name).equals(number));
37
+        //after confirmation that it has been added, it needs to be removed
38
+        phTest.remove(name);
39
+        Assert.assertTrue(phTest.lookup(name) == null);
40
+
41
+    }
42
+    @Test
43
+    public void lookupTest() {
44
+        PhoneBook phTest = new PhoneBook();
45
+        String name = "John";
46
+        String number = "8765930";
47
+        phTest.add(name, number);
48
+        Assert.assertTrue(phTest.lookup(name).equals(number));
49
+    }
50
+
51
+
52
+    @Test
53
+    public void listNameTest() {
54
+        PhoneBook phTest = new PhoneBook();
55
+        phTest.add("Joe", "12334");
56
+        phTest.add("Kay", "45873423");
57
+        phTest.add("Elisha", "234234");
58
+        phTest.add("Nico", "24234");
59
+
60
+        //Set is used because it is a method of tree map HAD TO IMPORT
61
+        Set<String> names = phTest.listNames();
62
+        Assert.assertTrue(names.size() == 4);
63
+        Assert.assertTrue(names.contains("Joe"));
64
+        Assert.assertTrue(names.contains("Kay"));
65
+        Assert.assertTrue(names.contains("Elisha"));
66
+        Assert.assertTrue(names.contains("Nico"));
67
+    }
68
+
69
+    @Test
70
+    public void listNamesFailTest() {
71
+        PhoneBook phTest = new PhoneBook();
72
+        phTest.add("Cat", "12334");
73
+        phTest.add("Dog", "45873423");
74
+
75
+
76
+        //Set is used because it is a method of tree map HAD TO IMPORT
77
+        Set<String> names = phTest.listNames();
78
+        Assert.assertTrue(names.size() == 2);
79
+        Assert.assertFalse(names.contains("Joe"));
80
+        Assert.assertFalse(names.contains("Kay"));
81
+    }
82
+
83
+    @Test
84
+    public void listRecordsTest(){
85
+        PhoneBook phTest = new PhoneBook();
86
+        //added two new entries to test
87
+        phTest.add("Nico","487542");
88
+        phTest.add("Laura","1-800-no-sugar");
89
+
90
+        //turned into an array to iterate through.
91
+        Object[] array = phTest.listRecords().toArray();
92
+        //to.Array returns Object[] array
93
+        for (int i = 0; i < array.length; i++) {
94
+            //Object that was in array was Map.Entry: a record on map (key value pair)
95
+            Map.Entry record = (Map.Entry) array[i];
96
+            //0 index = Laura because treemap is sorted alphabetically
97
+           if (i == 0 ){
98
+               Assert.assertTrue(record.getKey().equals("Laura"));
99
+               Assert.assertTrue(record.getValue().equals("1-800-no-sugar"));
100
+           }else{
101
+               Assert.assertTrue(record.getKey().equals("Nico"));
102
+               Assert.assertTrue(record.getValue().equals("487542"));
103
+           }
104
+
105
+        }
106
+
107
+    }
108
+
109
+        //    @Test
110
+//    public void reverselookupTest() {
111
+//        String name = "Bob";
112
+//        String number = "8765930";
113
+//        phTest.add(name, number);
114
+//        Assert.assertTrue(phTest.lookup(number).equals(name));
115
+//    }
116
+
117
+    }