From e35d1d7ee021b849a2ca30eb06d5b882c26d4fd7 Mon Sep 17 00:00:00 2001 From: "koastiebratt@gmail.com" Date: Thu, 1 Oct 2020 22:37:43 -0400 Subject: [PATCH 1/2] What i've done so far --- .../java/com/dtcc/projects/PhoneBook.java | 56 +++++++++++++++++- .../java/com/dtcc/projects/PhoneBookTest.java | 51 +++++++++++++++- .../classes/com/dtcc/projects/PhoneBook.class | Bin 0 -> 2690 bytes .../com/dtcc/projects/PhoneBookTest.class | Bin 0 -> 1799 bytes 4 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 target/classes/com/dtcc/projects/PhoneBook.class create mode 100644 target/test-classes/com/dtcc/projects/PhoneBookTest.class diff --git a/src/main/java/com/dtcc/projects/PhoneBook.java b/src/main/java/com/dtcc/projects/PhoneBook.java index 37094f3..a08fc30 100644 --- a/src/main/java/com/dtcc/projects/PhoneBook.java +++ b/src/main/java/com/dtcc/projects/PhoneBook.java @@ -1,4 +1,58 @@ package com.dtcc.projects; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class PhoneBook { -} + + //Phone number no hyphens please + public static HashMap PhoneBook = new HashMap<>(); + private static String Name; + private static String PhoneNumber; + + public void add(String name, String phoneNumber){ + PhoneBook.put(name, phoneNumber); + } + + public static void addAll(String name, String[] phoneNumbers){ + for(String temp:phoneNumbers){ + PhoneBook.put(name, temp); + } + } + + public static void remove(String name){ + PhoneBook.remove(name); + } + + public static boolean hasEntry(String name){ + return PhoneBook.containsKey(name); + } + + public List lookup(String name){ + List temp = new ArrayList<>(); + for(String val: PhoneBook.keySet()){ + if(val.equals(name)){ + temp.add(PhoneBook.get(val)); + } + } + return temp; + } + +// public String reverseLookup(String phoneNumber){ +// return PhoneBook.keys(phoneNumber) +// } + + public static String getAllContactNames(){ + String temp = ""; + //Entries, each entry + for(Map.Entry m: PhoneBook.entrySet()){ + String key = (String) m.getKey(); + String value = (String) m.getValue(); + temp += (key + " -> " + value + "\n"); + } + return temp; + } + } + diff --git a/src/test/java/com/dtcc/projects/PhoneBookTest.java b/src/test/java/com/dtcc/projects/PhoneBookTest.java index 891889e..e106159 100644 --- a/src/test/java/com/dtcc/projects/PhoneBookTest.java +++ b/src/test/java/com/dtcc/projects/PhoneBookTest.java @@ -1,4 +1,53 @@ package com.dtcc.projects; -public class PhoneBookTest { +import junit.framework.Assert; +import org.junit.Test; + +import java.util.HashMap; +import java.util.List; + +public class PhoneBookTest extends PhoneBook{ + + @Test + public void addTest(){ + add("Cedric", "3023007497"); + add("Emergency","911"); + + Assert.assertEquals("3023007497", PhoneBook.get("Cedric")); + Assert.assertEquals("911", PhoneBook.get("Emergency")); + } + + @Test + public void addAllTest(){ + String[] temp = {"911", "3023007497"}; + addAll("Cedric", temp); + Assert.assertEquals("3023007497", PhoneBook.get("Cedric")); + } + + @Test + public void removeTest(){ + add("Cedric", "3023007497"); + add("Emergency","911"); + remove("Emergency"); + Assert.assertEquals(false, PhoneBook.containsKey("Emergency")); + Assert.assertEquals(true, PhoneBook.containsKey("Cedric")); + } + + @Test + public void hasEntryTest(){ + add("Cedric", "3023007497"); + Assert.assertEquals(true, hasEntry("Cedric")); + } + + @Test + public void lookupTest(){ + add("Cedric", "3023007497"); + List temp = lookup("Cedric"); + Assert.assertEquals("3023007497", temp.get(0)); + } + + @Test + public void getAllContactNamesTest(){ + + } } diff --git a/target/classes/com/dtcc/projects/PhoneBook.class b/target/classes/com/dtcc/projects/PhoneBook.class new file mode 100644 index 0000000000000000000000000000000000000000..9aee856bde0b7a4c1c7aec84f149e28b15aec72d GIT binary patch literal 2690 zcma)8TUQfT6#ga&naN}jiA0K4N)Z(y7>jqIRG})CfV5bwm)Z_t3M0uRP9{`Zd$YFx z!Pma{(uZEwii^6ItIzFI`zQJrx?D@`cg_sC7<3gDCwunU=iB?+=i3whc>3ET0Eh9t zj&97xunX_%*opVVGAEXcD&E%-#jJRkkK+7jKvpb^Dl8pI0g=Qf8kRIH3)5C{Lj=#NSW%Hv5Sv{tIM#Tfu%cjF=7zayrpun4 zOHZ1m#2msQM^ z^9z=%AUbM0wl}6A+`oUG2PX=PJlK}89m@~7XfEU=R3U5T=1tcY&w(@IE!!mpyE55A zKE3E=v+1H+xM5|zQo2f&)r8H(MFso%o2zN|$RZqBeY_~zRV|btr*rIL|0XzBUjXD; z`Jw`&4v6J$+ay{+>zrq1S9lGQn~Edsjcer#t0bS?B&8@+TQ*B)9M4^QLC6(i z7SXpEhF`W6LB=k5qF1XXIc{y<*q&*)fVJYrCGIB+JDgR}UMnNCbm?)7#4dEO7ct+(w&RDmI$k!PYL>&3hsM0E%sCBb!=6JbbN}HOq z#3;*Lb-8)PER+F~iAH1IS9R1Z7A=P_wxRl_1h3`#?)k1j1VYkL}>)0bdHSSUBT>I%w^OKT9%fJIDKg%QgxkjZ^!vJl=55OQ&d}5I} zz*QX1FkP6R`Y#9#rYZk4PGZC_8}&*AD(B*^Lguc2<*j zFwr4;S_G_2PJ`BA9AVO1PbXgpGD zS1ia7!%2(;Aj1KO=7Y5SNWhS++i!Pw-FYoIuV55!GD@`jPqGx%Pd-HS@&l;T#Hm1A zM@+%Y&^mMl_mH9ySMWQGlaa2-UTExOp^jpacvA3kOn4ArC^Jc{oo~WSiXHe9n)`WUnL}8GG9CjC6PJ?w+$}*ZTVH<7WUX_#=mL%w;g2!9orkH#1nwpp>Pf zn!^&xY23PF+1}5hXQD%u(W|X$H9o zPc)hg<9}9;wD+27YF1sXdX8b$2_ol+hW%ayk;{Eqty9^tWqCwQu$f@jkA zT)_*xRPYL~)2PYto9X=CKdSv0p17yM^{p-i+3j(CTWPay71f?6bjOVpYg5x3A4 ZS2jFN;@+T4xo0E31T%ed&(eJi#qZdWYE%FK literal 0 HcmV?d00001 From 4e1f201e3154618bb89736858c5738c1e54f279a Mon Sep 17 00:00:00 2001 From: "koastiebratt@gmail.com" Date: Sat, 3 Oct 2020 13:00:45 -0400 Subject: [PATCH 2/2] Finished --- .../java/com/dtcc/projects/PhoneBook.java | 62 ++++++++++--------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/dtcc/projects/PhoneBook.java b/src/main/java/com/dtcc/projects/PhoneBook.java index a08fc30..f30f82e 100644 --- a/src/main/java/com/dtcc/projects/PhoneBook.java +++ b/src/main/java/com/dtcc/projects/PhoneBook.java @@ -1,56 +1,62 @@ package com.dtcc.projects; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class PhoneBook { //Phone number no hyphens please - public static HashMap PhoneBook = new HashMap<>(); - private static String Name; - private static String PhoneNumber; + public Map > PhoneBook; - public void add(String name, String phoneNumber){ - PhoneBook.put(name, phoneNumber); + public PhoneBook(){ + this(new LinkedHashMap>()); + } + + public PhoneBook(Map> map){ + this.PhoneBook = map; } - public static void addAll(String name, String[] phoneNumbers){ - for(String temp:phoneNumbers){ - PhoneBook.put(name, temp); + public void add(String name, String phoneNumber){ + List phoneNumberList = PhoneBook.get(name); + if(phoneNumberList != null){ + phoneNumberList.add(phoneNumber); + }else{ + //Singleton -> adds the phone number to names List of numbers + //Doing multiple things at once + PhoneBook.put(name, Collections.singletonList(phoneNumber)); } } - public static void remove(String name){ + public void addAll(String name, String[] phoneNumbers){ + PhoneBook.put(name, Arrays.asList(phoneNumbers)); + } + + public void remove(String name){ PhoneBook.remove(name); } - public static boolean hasEntry(String name){ + public boolean hasEntry(String name){ return PhoneBook.containsKey(name); } public List lookup(String name){ - List temp = new ArrayList<>(); - for(String val: PhoneBook.keySet()){ - if(val.equals(name)){ - temp.add(PhoneBook.get(val)); + return PhoneBook.get(name); + } + + public String reverseLookup(String phoneNumber){ + String tempString =""; + for(Map.Entry m: PhoneBook.entrySet()){ + if((m.getValue().equals(Arrays.asList(phoneNumber)))){ + tempString += (String)m.getKey(); } } - return temp; + return tempString; } -// public String reverseLookup(String phoneNumber){ -// return PhoneBook.keys(phoneNumber) -// } - - public static String getAllContactNames(){ - String temp = ""; + public List getAllContactNames(){ + List temp = new ArrayList<>(); //Entries, each entry for(Map.Entry m: PhoneBook.entrySet()){ - String key = (String) m.getKey(); - String value = (String) m.getValue(); - temp += (key + " -> " + value + "\n"); + temp.add((String)m.getKey()); } return temp; }