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