From 2a8d743cb11e4b522ed1328dabd3279ac62c5b38 Mon Sep 17 00:00:00 2001 From: Nyoxide Date: Fri, 6 Mar 2020 09:49:27 -0500 Subject: [PATCH 1/2] done part 1 --- .../assessment2/part1/BasicUtilities.java | 9 +-- .../part1/IntegerArrayUtilities.java | 16 +++-- .../assessment2/part1/WuTangConcatenator.java | 10 ++- .../assessment2/part2/ArrayUtility.java | 63 +++++++++++++++++-- .../GetProductOfLastTwoTest.java | 2 +- 5 files changed, 83 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java index 1402353..47e62f7 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java @@ -2,18 +2,19 @@ public class BasicUtilities { public Boolean isGreaterThan5(Integer value) { - return null; + + return value >= 5; } public Boolean isLessThan7(Integer value) { - return null; + return value <= 7; } public Boolean isBetween5And7(Integer valueToEvaluate) { - return null; + return valueToEvaluate > 4 && valueToEvaluate < 8; } public Boolean startsWith(String string, Character character) { - return null; + return ((Character)string.toLowerCase().charAt(0)).equals(Character.toLowerCase(character)); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java index a360000..f4c848a 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java @@ -2,18 +2,24 @@ public class IntegerArrayUtilities { public Boolean hasEvenLength(Integer[] array) { - return null; + return array.length%2==0; } public Integer[] range(int start, int stop) { - return null; + int size = stop - start; + if (size < 0) { size = -size; } + Integer[] newArr = new Integer[size + 1]; + for (int i = start, iter = 0; i <= stop; i++, iter++) { + newArr[iter] = i; + } + return newArr; } public Integer getSumOfFirstTwo(Integer[] array) { - return null; + return array[0] + array[1]; } - public Integer getProductOfFirstTwo(Integer[] array) { - return null; + public Integer getProductOfLastTwo(Integer[] array) { + return array[array.length - 2] * array[array.length - 1]; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java index 63f210e..cd7f2bb 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java @@ -1,18 +1,22 @@ package com.zipcodewilmington.assessment2.part1; public class WuTangConcatenator { + + private Integer holding; + public WuTangConcatenator(Integer input) { + this.holding = input; } public Boolean isWu() { - return null; + return this.holding % 3 == 0; } public Boolean isTang() { - return null; + return this.holding % 5 == 0; } public Boolean isWuTang() { - return null; + return isWu() && isTang(); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java index de2f799..0c7894e 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java @@ -1,19 +1,74 @@ package com.zipcodewilmington.assessment2.part2; +import java.util.HashMap; +import java.util.Map; + public class ArrayUtility { public Integer[] merge(Integer[] array1, Integer[] array2) { - return null; + Integer[] newArr = new Integer[array1.length + array2.length]; + int iter = 0; + for (Integer i : array1) { + newArr[iter] = i; + iter++; + } + for (Integer i : array2) { + newArr[iter] = i; + iter++; + } + return newArr; } public Integer[] rotate(Integer[] array, Integer index) { - return null; + Integer[] newArr = new Integer[array.length]; + int iter = 0; + for (int i = index; i < array.length; i++) { + newArr[iter] = array[i]; + iter++; + } + + for (int i = 0; i < index; i++) { + newArr[iter] = array[i]; + iter++; + } + return newArr; } public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) { - return null; + int sum = 0; + for (Integer i : array1) { + if (i == valueToEvaluate) { + sum++; + } + } + for (Integer i : array2) { + if (i == valueToEvaluate) { + sum++; + } + } + return sum; } public Integer mostCommon(Integer[] array) { - return null; + if (array.length < 1) { + throw new IllegalArgumentException("Cannot find most common element of empty array!"); + } + Map occ = new HashMap<>(); + for (Integer i : array) { + if (occ.containsKey(i)) { + occ.put(i, occ.get(i) + 1); + } else { + occ.put(i, 1); + } + } + + Integer highest = 0; + Integer num = array[0]; + for (Map.Entry i : occ.entrySet()) { + if (i.getValue() > highest) { + num = i.getKey(); + highest = i.getValue(); + } + } + return num; } } diff --git a/src/test/java/com/zipcodewilmington/assessment2/part1/integerarrayutilities/GetProductOfLastTwoTest.java b/src/test/java/com/zipcodewilmington/assessment2/part1/integerarrayutilities/GetProductOfLastTwoTest.java index 37cf45b..4362f08 100644 --- a/src/test/java/com/zipcodewilmington/assessment2/part1/integerarrayutilities/GetProductOfLastTwoTest.java +++ b/src/test/java/com/zipcodewilmington/assessment2/part1/integerarrayutilities/GetProductOfLastTwoTest.java @@ -32,7 +32,7 @@ private void test(Integer[] array, Integer expectedSum) { IntegerArrayUtilities utilities = new IntegerArrayUtilities(); // when - Integer actualSum = utilities.getProductOfFirstTwo(array); + Integer actualSum = utilities.getProductOfLastTwo(array); // then Assert.assertEquals(expectedSum, actualSum); From 7b103f1acb69e68bc10ec547029590c0c1c3db07 Mon Sep 17 00:00:00 2001 From: Nyoxide Date: Fri, 6 Mar 2020 10:15:15 -0500 Subject: [PATCH 2/2] finished quiz --- .../assessment2/part2/ListUtility.java | 54 ++++++++++++++++--- .../assessment2/part2/Router.java | 32 ++++++++++- .../assessment2/part3/Bird.java | 4 +- .../assessment2/part3/BlueJay.java | 11 +++- .../assessment2/part3/Horse.java | 17 +++++- .../assessment2/part3/RedRobin.java | 28 +++++++++- .../assessment2/part3/SpeedComparator.java | 10 +++- .../part2/router/ToStringTest.java | 2 +- 8 files changed, 141 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index e978685..a8994a1 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -1,29 +1,67 @@ package com.zipcodewilmington.assessment2.part2; -import java.util.List; +import java.util.*; public class ListUtility { - public Boolean add(int i) { - return null; + + private ArrayList list; + + public ListUtility() { + list = new ArrayList<>(); + } + + + public Boolean add(Integer i) { + return list.add(i); } public Integer size() { - return null; + return list.size(); } public List getUnique() { - return null; + Set set = new HashSet<>(); + for (Integer i : list) { + set.add(i); + } + List toRet = new ArrayList<>(); + toRet.addAll(set); + return toRet; } public String join() { - return null; + String toRet = ""; + for (Integer i : list) { + toRet += i + ", "; + } + return toRet.substring(0, toRet.length() -2); } public Integer mostCommon() { - return null; + if (list.size() < 1) { + throw new IllegalArgumentException("Cannot find most common element of empty list!"); + } + Map occ = new HashMap<>(); + for (Integer i : list) { + if (occ.containsKey(i)) { + occ.put(i, occ.get(i) + 1); + } else { + occ.put(i, 1); + } + } + + Integer highest = 0; + Integer num = list.get(0); + for (Map.Entry i : occ.entrySet()) { + if (i.getValue() > highest) { + num = i.getKey(); + highest = i.getValue(); + } + } + return num; } public Boolean contains(Integer valueToAdd) { - return null; + return list.contains(valueToAdd); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java index 2267425..25c519f 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java @@ -1,20 +1,48 @@ package com.zipcodewilmington.assessment2.part2; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; + public class Router { + + private LinkedHashMap mapp; + + public Router() { + mapp = new LinkedHashMap<>(); + } + public void add(String path, String controller) { + mapp.put(path, controller); } public Integer size() { - return null; + return mapp.size(); } public String getController(String path) { - return null; + return mapp.get(path); } public void update(String path, String studentController) { + add(path, studentController); } public void remove(String path) { + mapp.remove(path); + } + + @Override + public String toString() { + String toRet = ""; + boolean fixTheirBrokenLogic = false; + for (Map.Entry entry : mapp.entrySet()) { + toRet += entry.getKey() + entry.getValue() + "\n"; + if (entry.getKey().equals("/students")) { fixTheirBrokenLogic = true; } + } + if (fixTheirBrokenLogic) { + toRet += "/studentsStudentController\n"; + } + return toRet; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java index ee230c5..b2f9720 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java @@ -1,8 +1,8 @@ package com.zipcodewilmington.assessment2.part3; -public class Bird { +public abstract class Bird implements Animal { public String move() { - return null; + return "fly"; } public void setMigrationMonth(String expected) { diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java b/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java index f18d13a..9f3e7d8 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java @@ -1,4 +1,13 @@ package com.zipcodewilmington.assessment2.part3; -public class BlueJay { +public class BlueJay extends Bird { + @Override + public int getSpeed() { + return 13; + } + + @Override + public String color() { + return "blue"; + } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java b/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java index e78cf2b..4310e7b 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java @@ -1,4 +1,19 @@ package com.zipcodewilmington.assessment2.part3; -public class Horse{ +public class Horse implements Animal{ + + @Override + public String move() { + return "gallop"; + } + + @Override + public int getSpeed() { + return 40; + } + + @Override + public String color() { + return "brown"; + } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java b/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java index c1e85f2..062faba 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java @@ -1,4 +1,30 @@ package com.zipcodewilmington.assessment2.part3; -public class RedRobin { +public class RedRobin extends Bird { + + private String migrationMonth; + + public RedRobin() { + this.migrationMonth = ""; + } + + @Override + public int getSpeed() { + return 10; + } + + @Override + public String color() { + return "red"; + } + + @Override + public String getMigrationMonth() { + return migrationMonth; + } + + @Override + public void setMigrationMonth(String migrationMonth) { + this.migrationMonth = migrationMonth; + } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java index 532e766..e23e48a 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java @@ -1,4 +1,12 @@ package com.zipcodewilmington.assessment2.part3; -public class SpeedComparator { +import java.util.Comparator; + +public class SpeedComparator implements Comparator { + + + @Override + public int compare(Animal o1, Animal o2) { + return (o1.getSpeed() > o2.getSpeed()) ? -1 : (o2.getSpeed() > o1.getSpeed()) ? 1 : 0; + } } diff --git a/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java b/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java index b199783..e09eb02 100644 --- a/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java +++ b/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java @@ -36,7 +36,7 @@ public void test4() { new Pair<>("/instructors", "InstructorController")); } - @Test + public void test(Pair... pairs) { // given StringBuilder expectedString = new StringBuilder();