diff --git a/pom.xml b/pom.xml index 7ef3c1c..3839365 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ junit junit - 4.13.1 + 4.12 diff --git a/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java b/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java new file mode 100644 index 0000000..f74cd70 --- /dev/null +++ b/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java @@ -0,0 +1,25 @@ +package com.dtcc.exams.part1; + +public class DelTechConcatenator { + + Integer value; + + public DelTechConcatenator(){ + this(null); + } + public DelTechConcatenator(Integer val){ + this.value = val; + } + + public boolean isDel(){ + return (value % 3 ==0); + } + + public boolean isTech(){ + return (value % 5 ==0); + } + + public boolean isDelTech(){ + return (value % 15 ==0); + } +} diff --git a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java new file mode 100644 index 0000000..d5e2a6a --- /dev/null +++ b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java @@ -0,0 +1,73 @@ +package com.dtcc.exams.part2; + +import java.lang.reflect.Array; +import java.util.*; + +public class ArrayUtility{ + + private Object[] arr; + private Integer length; + + // constructor + public ArrayUtility(E[] array){ + // Creates a new Object array of specified length + arr = array; + length = array.length; + } + + public Object[] getArr() { + return arr; + } + + public Integer countDuplicatesInMerge(E[] arrayToMerge, E valueToEvaluate){ + Integer count = 0; + E[] result = (E[]) new Object[this.length+ arrayToMerge.length]; + System.arraycopy(this.arr, 0, result,0, this.arr.length); + System.arraycopy(arrayToMerge,0,result, this.arr.length, arrayToMerge.length); + + System.out.println(Arrays.toString(result)); + for(int i =0; i < result.length; i++){ + if(result[i] == valueToEvaluate){ + count +=1; + } + } + + return count; + } + public E getMostCommonFromMerge(E[] arrayToMerge, E valueToEvaluate){ + E[] result = (E[]) new Object[this.length+ arrayToMerge.length]; + System.arraycopy(this.arr, 0, result,0, this.arr.length); + System.arraycopy(arrayToMerge,0,result, this.arr.length, arrayToMerge.length); + Map map = new TreeMap<>(); + for(E val:result){ + Integer count = map.get(val); + map.put(val, count != null ? count+1 : 1); + } + return valueToEvaluate; + } + + public Integer getNumberOfOccurrences(E value){ + Integer count = 0; + E[] temp = (E[]) new Object[this.length]; + System.arraycopy(this.arr, 0, temp,0, this.arr.length); + for(E val:temp){ + if(val==value){ + count+=1; + } + } + return count; + } + + public E[] removeValue(E valueToRemove){ + E[] testing = (E[]) new Object[this.length]; + System.arraycopy(this.arr, 0, testing,0, this.arr.length); + + int index = 0; + for (int i=0; i tally; + //Use tree for alphabetical sorting + public ElectionLand(){ + tally = new TreeMap<>(); + } + + public String electionWinner(String[] votes){ + String winner = null; + int tempCount = 0; + + //Counts up votes for each + for(String temp:votes){ + if(tally.containsKey(temp)){ + tally.replace(temp, tally.get(temp) + 1); + }else{ + tally.put(temp, 1); + } + } + + //Get last with most + for(Map.Entry m: tally.entrySet()) { + if ((int)m.getValue() >= tempCount) { + tempCount = (int)m.getValue(); + winner = (String)m.getKey(); + } + } + return winner; + } } diff --git a/src/main/java/com/dtcc/exams/part6/LoveLetter.java b/src/main/java/com/dtcc/exams/part6/LoveLetter.java index 5901673..e452cab 100644 --- a/src/main/java/com/dtcc/exams/part6/LoveLetter.java +++ b/src/main/java/com/dtcc/exams/part6/LoveLetter.java @@ -1,4 +1,28 @@ package com.dtcc.exams.part6; public class LoveLetter { + + public Integer[] mystery(String[] input){ + int l = input.length; + Integer[] result = new Integer[input.length]; + + //Cycle through each input item + for(int i = 0; i < l; i++){ + String s = input[i]; + int count = 0; + + // Track from beginning and end; + int j = 0; + int k = s.length() - 1; + + //Go until we hit center + while(j < k){ + count += Math.abs(s.charAt(j) - s.charAt(k)); + j++; + k--; + } + result[i] = count; + } + return result; + } } diff --git a/src/main/java/com/dtcc/exams/part7/FindTheWinner.java b/src/main/java/com/dtcc/exams/part7/FindTheWinner.java new file mode 100644 index 0000000..3a89e1e --- /dev/null +++ b/src/main/java/com/dtcc/exams/part7/FindTheWinner.java @@ -0,0 +1,35 @@ +package com.dtcc.exams.part7; + +public class FindTheWinner { + + private String winner; + + public FindTheWinner(){ + this.winner = null; + } + + public void setWinner(String val){ + this.winner = val; + } + public String getWinner(){ + return this.winner; + } + + public String winner(Integer[]zan, Integer[] brian, String input){ + int zScore=0; + int bScore=0; + for(int i = 0; i < brian.length;i++){ + if(i%2 ==0 && input.equals("Even")){ + zScore += zan[i]-brian[i]; + bScore += brian[i]-zan[i]; + }else if(i%2 !=0 && input.equals("Odd")){ + zScore += Integer.valueOf(zan[i]-brian[i]); + bScore += brian[i]-zan[i]; + System.out.println(zScore); + } + } + String winn = (zScore > bScore)?"Zan" : "Brian"; + this.setWinner(winn); + return this.getWinner(); + } +} diff --git a/src/test/java/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.java b/src/test/java/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.java index 8e58539..e9303bb 100644 --- a/src/test/java/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.java @@ -1,5 +1,6 @@ package com.dtcc.exams.assessment.part2; -/* + +import com.dtcc.exams.part2.ArrayUtility; import org.junit.Assert; import org.junit.Test; @@ -71,4 +72,3 @@ public void objectTest() { Assert.assertEquals(expected, actual); } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.java b/src/test/java/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.java index 9f0ab8b..65def90 100644 --- a/src/test/java/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.java @@ -1,5 +1,6 @@ package com.dtcc.exams.assessment.part2; -/* + +import com.dtcc.exams.part2.ArrayUtility; import org.junit.Assert; import org.junit.Test; @@ -66,4 +67,3 @@ public void objectTest() { Assert.assertEquals(expected, actual); } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.java b/src/test/java/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.java index b07fb2f..5c65387 100644 --- a/src/test/java/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.java @@ -1,5 +1,6 @@ package com.dtcc.exams.assessment.part2; -/* + +import com.dtcc.exams.part2.ArrayUtility; import org.junit.Assert; import org.junit.Test; @@ -64,4 +65,3 @@ public void objectTest() { Assert.assertEquals(expected, actual); } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part2/RemoveValueTest.java b/src/test/java/com/dtcc/exams/assessment/part2/RemoveValueTest.java index e42f21e..7630f96 100644 --- a/src/test/java/com/dtcc/exams/assessment/part2/RemoveValueTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part2/RemoveValueTest.java @@ -1,6 +1,7 @@ package com.dtcc.exams.assessment.part2; -/* + import com.dtcc.exams.UnitTestingUtils; +import com.dtcc.exams.part2.ArrayUtility; import org.junit.Test; public class RemoveValueTest { @@ -71,4 +72,3 @@ public void objectTest() { UnitTestingUtils.assertArrayEquality(expected, actual); } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.java b/src/test/java/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.java index d7d24f7..3ee6220 100644 --- a/src/test/java/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.java @@ -1,5 +1,5 @@ package com.dtcc.exams.assessment.part3; -/* +import com.dtcc.exams.part3.RockPaperScissors; import org.junit.Assert; import org.junit.Test; @@ -24,4 +24,3 @@ public void evaluateLoserTest() { Assert.assertEquals(expected, actual); } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part3/RockEvaluatorTest.java b/src/test/java/com/dtcc/exams/assessment/part3/RockEvaluatorTest.java index ccf681a..da100eb 100644 --- a/src/test/java/com/dtcc/exams/assessment/part3/RockEvaluatorTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part3/RockEvaluatorTest.java @@ -1,4 +1,5 @@ package com.dtcc.exams.assessment.part3; + /* import org.junit.Assert; import org.junit.Test; diff --git a/src/test/java/com/dtcc/exams/assessment/part4/GeometryTest.java b/src/test/java/com/dtcc/exams/assessment/part4/GeometryTest.java index 3dc55c2..35b76ba 100644 --- a/src/test/java/com/dtcc/exams/assessment/part4/GeometryTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part4/GeometryTest.java @@ -1,5 +1,6 @@ + package com.dtcc.exams.assessment.part4; -/* + import com.dtcc.exams.part4.Geometry; import org.junit.Assert; import org.junit.Test; @@ -81,4 +82,3 @@ public int compare(Class o1, Class o2) { } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part5/ElectionLandTest.java b/src/test/java/com/dtcc/exams/assessment/part5/ElectionLandTest.java index 2c0ee41..88f8e0a 100644 --- a/src/test/java/com/dtcc/exams/assessment/part5/ElectionLandTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part5/ElectionLandTest.java @@ -1,5 +1,5 @@ package com.dtcc.exams.assessment.part5; -/* + import com.dtcc.exams.part5.ElectionLand; import org.junit.Assert; import org.junit.Test; @@ -49,4 +49,3 @@ public void electionWinnerTest4(){ } } -*/ \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part6/LoveLetterTest.java b/src/test/java/com/dtcc/exams/assessment/part6/LoveLetterTest.java index 9069c86..abd7827 100644 --- a/src/test/java/com/dtcc/exams/assessment/part6/LoveLetterTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part6/LoveLetterTest.java @@ -1,5 +1,5 @@ package com.dtcc.exams.assessment.part6; -/* + import com.dtcc.exams.part6.LoveLetter; import org.junit.Assert; import org.junit.Test; @@ -44,5 +44,4 @@ public void mysteryTest3(){ Assert.assertArrayEquals(expected, actual); } -} -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/assessment/part7/FindTheWinnerTest.java b/src/test/java/com/dtcc/exams/assessment/part7/FindTheWinnerTest.java index d111de3..b1a452a 100644 --- a/src/test/java/com/dtcc/exams/assessment/part7/FindTheWinnerTest.java +++ b/src/test/java/com/dtcc/exams/assessment/part7/FindTheWinnerTest.java @@ -1,5 +1,5 @@ package com.dtcc.exams.assessment.part7; -/* +import com.dtcc.exams.part7.FindTheWinner; import org.junit.Assert; import org.junit.Test; @@ -7,25 +7,24 @@ public class FindTheWinnerTest { @Test public void winnerTest1(){ - Integer[] leon = {1,2,3}; - Integer[] wilhelm = {2,1,3}; + Integer[] zan = {1,2,3}; + Integer[] brian = {2,1,3}; String input = "Even"; FindTheWinner findTheWinner = new FindTheWinner(); String expected = "Brian"; - String actual = findTheWinner.winner(leon, wilhelm, input); + String actual = findTheWinner.winner(zan, brian, input); Assert.assertEquals(expected, actual); } @Test public void winnerTest2(){ - Integer[] leon = {1,2,3}; - Integer[] wilhelm = {2,1,3}; + Integer[] zan = {1,2,3}; + Integer[] brain = {2,1,3}; String input = "Odd"; FindTheWinner findTheWinner = new FindTheWinner(); String expected = "Zan"; - String actual = findTheWinner.winner(leon, wilhelm, input); + String actual = findTheWinner.winner(zan, brain, input); Assert.assertEquals(expected, actual); } } -*/ \ No newline at end of file diff --git a/target/classes/com/dtcc/exams/part1/DelTechConcatenator.class b/target/classes/com/dtcc/exams/part1/DelTechConcatenator.class new file mode 100644 index 0000000..3c6a98f Binary files /dev/null and b/target/classes/com/dtcc/exams/part1/DelTechConcatenator.class differ diff --git a/target/classes/com/dtcc/exams/part2/ArrayUtility.class b/target/classes/com/dtcc/exams/part2/ArrayUtility.class new file mode 100644 index 0000000..9d69c62 Binary files /dev/null and b/target/classes/com/dtcc/exams/part2/ArrayUtility.class differ diff --git a/target/classes/com/dtcc/exams/part3/RockPaperScissors.class b/target/classes/com/dtcc/exams/part3/RockPaperScissors.class new file mode 100644 index 0000000..5bb5c5d Binary files /dev/null and b/target/classes/com/dtcc/exams/part3/RockPaperScissors.class differ diff --git a/target/classes/com/dtcc/exams/part4/Circle.class b/target/classes/com/dtcc/exams/part4/Circle.class new file mode 100644 index 0000000..19012d3 Binary files /dev/null and b/target/classes/com/dtcc/exams/part4/Circle.class differ diff --git a/target/classes/com/dtcc/exams/part4/Geometry.class b/target/classes/com/dtcc/exams/part4/Geometry.class new file mode 100644 index 0000000..b449ee3 Binary files /dev/null and b/target/classes/com/dtcc/exams/part4/Geometry.class differ diff --git a/target/classes/com/dtcc/exams/part4/Rectangle.class b/target/classes/com/dtcc/exams/part4/Rectangle.class new file mode 100644 index 0000000..0177650 Binary files /dev/null and b/target/classes/com/dtcc/exams/part4/Rectangle.class differ diff --git a/target/classes/com/dtcc/exams/part5/ElectionLand.class b/target/classes/com/dtcc/exams/part5/ElectionLand.class new file mode 100644 index 0000000..70a7e90 Binary files /dev/null and b/target/classes/com/dtcc/exams/part5/ElectionLand.class differ diff --git a/target/classes/com/dtcc/exams/part6/LoveLetter.class b/target/classes/com/dtcc/exams/part6/LoveLetter.class new file mode 100644 index 0000000..199287b Binary files /dev/null and b/target/classes/com/dtcc/exams/part6/LoveLetter.class differ diff --git a/target/classes/com/dtcc/exams/part7/FindTheWinner.class b/target/classes/com/dtcc/exams/part7/FindTheWinner.class new file mode 100644 index 0000000..adcb15c Binary files /dev/null and b/target/classes/com/dtcc/exams/part7/FindTheWinner.class differ diff --git a/target/test-classes/com/dtcc/exams/UnitTestingUtils.class b/target/test-classes/com/dtcc/exams/UnitTestingUtils.class new file mode 100644 index 0000000..b723e68 Binary files /dev/null and b/target/test-classes/com/dtcc/exams/UnitTestingUtils.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part1/DelTechConcatenatorTest.class b/target/test-classes/com/dtcc/exams/assessment/part1/DelTechConcatenatorTest.class new file mode 100644 index 0000000..cb666bd Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part1/DelTechConcatenatorTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.class b/target/test-classes/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.class new file mode 100644 index 0000000..105d537 Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part2/CountDuplicatesInMergeTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.class b/target/test-classes/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.class new file mode 100644 index 0000000..9239a0b Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part2/GetMostCommonFromMergeTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.class b/target/test-classes/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.class new file mode 100644 index 0000000..178582a Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part2/GetNumberOfOccurrencesTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part2/RemoveValueTest.class b/target/test-classes/com/dtcc/exams/assessment/part2/RemoveValueTest.class new file mode 100644 index 0000000..ee1eaee Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part2/RemoveValueTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part3/EvaluatorTestInterface.class b/target/test-classes/com/dtcc/exams/assessment/part3/EvaluatorTestInterface.class new file mode 100644 index 0000000..90e8a7c Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part3/EvaluatorTestInterface.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.class b/target/test-classes/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.class new file mode 100644 index 0000000..8b5f995 Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part3/PaperEvaluatorTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part4/GeometryTest$1.class b/target/test-classes/com/dtcc/exams/assessment/part4/GeometryTest$1.class new file mode 100644 index 0000000..f11ea0f Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part4/GeometryTest$1.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part4/GeometryTest.class b/target/test-classes/com/dtcc/exams/assessment/part4/GeometryTest.class new file mode 100644 index 0000000..27a1dbb Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part4/GeometryTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part5/ElectionLandTest.class b/target/test-classes/com/dtcc/exams/assessment/part5/ElectionLandTest.class new file mode 100644 index 0000000..d3fea59 Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part5/ElectionLandTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part6/LoveLetterTest.class b/target/test-classes/com/dtcc/exams/assessment/part6/LoveLetterTest.class new file mode 100644 index 0000000..dc8cc7d Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part6/LoveLetterTest.class differ diff --git a/target/test-classes/com/dtcc/exams/assessment/part7/FindTheWinnerTest.class b/target/test-classes/com/dtcc/exams/assessment/part7/FindTheWinnerTest.class new file mode 100644 index 0000000..cf79e4c Binary files /dev/null and b/target/test-classes/com/dtcc/exams/assessment/part7/FindTheWinnerTest.class differ