From d5d21c7db50261bd86e64860f27bcd7cca9b08e1 Mon Sep 17 00:00:00 2001 From: Keerthana Srinivasan Date: Sun, 21 Nov 2021 01:53:45 -0500 Subject: [PATCH] Lab Completed with updates --- .../phonebook/PhoneBook.java | 52 ++++++++++++++----- .../phonebook/RemoveTest.java | 6 +-- .../phonebook/ReverseLookupTest.java | 6 +-- 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java b/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java index d4a35dc..a234dff 100644 --- a/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java +++ b/src/main/java/com/zipcodewilmington/phonebook/PhoneBook.java @@ -1,11 +1,8 @@ package com.zipcodewilmington.phonebook; -import java.util.List; -import java.util.ArrayList; +import java.util.*; //import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map; + /** * Created by leon on 1/23/18. @@ -16,39 +13,70 @@ public class PhoneBook { private final Map> phonebook; public PhoneBook(Map> map) { - this.phonebook = null; + + phonebook = map; } public PhoneBook() { - this(null); + + phonebook = new LinkedHashMap<>(); } public void add(String name, String phoneNumber) { + List phoneNumberList = Arrays.asList(phoneNumber); + phonebook.put(name,phoneNumberList); } public void addAll(String name, String... phoneNumbers) { + List phoneNumList = Arrays.asList(phoneNumbers); + phonebook.put(name,phoneNumList); } public void remove(String name) { + phonebook.remove(name); } public Boolean hasEntry(String name) { - return null; + + if(phonebook.containsKey(name)){ + return true; + }else { + return false; + } } public List lookup(String name) { - return null; + + return phonebook.get(name); } public String reverseLookup(String phoneNumber) { - return null; + for(Map.Entry> entry : phonebook.entrySet()){ + if(entry.getValue().contains(phoneNumber)){ + return entry.getKey(); + } + + } + return null; } public List getAllContactNames() { - return null; + List allNames = new ArrayList<>(); + for(String name : phonebook.keySet()){ + allNames.add(name); + } + return allNames; } public Map> getMap() { - return null; + + return phonebook; + } + + @Override + public String toString() { + return "PhoneBook{" + + "phonebook=" + phonebook + + '}'; } } diff --git a/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java b/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java index 6ff15a1..610dd0a 100644 --- a/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java +++ b/src/test/java/com/zipcodewilmington/phonebook/RemoveTest.java @@ -11,7 +11,7 @@ public void test1() { String name = "John"; String phoneNumber = "302-555-4545"; phoneBook.add(name, phoneNumber); - Assert.assertTrue(phoneBook.hasEntry(name, phoneNumber)); + Assert.assertTrue(phoneBook.hasEntry(name)); // when phoneBook.remove(name); @@ -27,7 +27,7 @@ public void test2() { String name = "Joe"; String phoneNumber = "302-554-4545"; phoneBook.add(name, phoneNumber); - Assert.assertTrue(phoneBook.hasEntry(name, phoneNumber)); + Assert.assertTrue(phoneBook.hasEntry(name)); // when phoneBook.remove(name); @@ -44,7 +44,7 @@ public void test3() { String name = "Smith"; String phoneNumber = "302-554-4535"; phoneBook.add(name, phoneNumber); - Assert.assertTrue(phoneBook.hasEntry(name, phoneNumber)); + Assert.assertTrue(phoneBook.hasEntry(name)); // when phoneBook.remove(name); diff --git a/src/test/java/com/zipcodewilmington/phonebook/ReverseLookupTest.java b/src/test/java/com/zipcodewilmington/phonebook/ReverseLookupTest.java index 7e0ec3a..3ad8962 100644 --- a/src/test/java/com/zipcodewilmington/phonebook/ReverseLookupTest.java +++ b/src/test/java/com/zipcodewilmington/phonebook/ReverseLookupTest.java @@ -11,7 +11,7 @@ public void test1() { String expectedName = "John"; String phoneNumber = "302-555-4545"; phoneBook.add(expectedName, phoneNumber); - Assert.assertTrue(phoneBook.hasEntry(expectedName, phoneNumber)); + Assert.assertTrue(phoneBook.hasEntry(expectedName)); // when String actualName = phoneBook.reverseLookup(phoneNumber); @@ -27,7 +27,7 @@ public void test2() { String expectedName = "Joe"; String phoneNumber = "302-554-4545"; phoneBook.add(expectedName, phoneNumber); - Assert.assertTrue(phoneBook.hasEntry(expectedName, phoneNumber)); + Assert.assertTrue(phoneBook.hasEntry(expectedName)); // when String actualName = phoneBook.reverseLookup(phoneNumber); @@ -44,7 +44,7 @@ public void test3() { String expectedName = "Smith"; String phoneNumber = "302-554-4535"; phoneBook.add(expectedName, phoneNumber); - Assert.assertTrue(phoneBook.hasEntry(expectedName, phoneNumber)); + Assert.assertTrue(phoneBook.hasEntry(expectedName)); // when String actualName = phoneBook.reverseLookup(phoneNumber);