Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/main/java/com/dtcc/exams/part1/BasicUtilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,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 >= 5 && valueToEvaluate <=7);
}

public Boolean startsWith(String string, Character character) {
return null;
return (string.toUpperCase().charAt(0) == character || string.toLowerCase().charAt(0) == character);
}

}
11 changes: 8 additions & 3 deletions src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@

public class DelTechConcatenator {

private Integer value;

public DelTechConcatenator(Integer input) {
this.value = input;
}

public Integer getValue(){return this.value;}

public Boolean isDel() {
return null;
return (this.value%3 == 0);
}

public Boolean isTech() {
return null;
return (this.value%5 == 0);
}

public Boolean isDelTech() {
return null;
return ((this.value%5 == 0) && (this.value%3 == 0));
}

}
14 changes: 10 additions & 4 deletions src/main/java/com/dtcc/exams/part1/IntegerArrayUtilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,25 @@
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 range = Math.abs(stop - start);
Integer[] temp = new Integer[range + 1];
int temp_val = start;
for(int i = 0; i < range + 1; i++){
temp[i] = start++;
}
return temp;
}

public Integer getSumOfFirstTwo(Integer[] array) {
return null;
return (array[0] + array[1]);
}

public Integer getProductOfFirstTwo(Integer[] array) {
return null;
return (array[array.length-1] * array[array.length-2]);
}

}
58 changes: 54 additions & 4 deletions src/main/java/com/dtcc/exams/part2/ArrayUtility.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,71 @@
package com.dtcc.exams.part2;

import java.util.Arrays;

public class ArrayUtility {

public Integer[] merge(Integer[] array1, Integer[] array2) {
return null;
Integer[] temp = new Integer[(array1.length + array2.length)];
System.arraycopy(array1, 0, temp, 0, array1.length);
System.arraycopy(array2, 0, temp, array1.length, array2.length);
return temp;
}

public Integer[] rotate(Integer[] array, Integer index) {
return null;
int j;
for(int i = 0; i < index; i++){
int first_val;
first_val = array[0];
for(j = 0; j < array.length-1; j++){
//Shift element of array by one
array[j] = array[j+1];
}
//First element of array will be added to the end
array[j] = first_val;
}
return array;
}

public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) {
return null;
int occurances = 0;
Integer[] temp = new Integer[(array1.length + array2.length)];

System.arraycopy(array1, 0, temp,0,array1.length);
System.arraycopy(array2,0,temp,array1.length, array2.length);

//Cycle through entire array
for(int i = 0; i < temp.length; i++) {
if(valueToEvaluate == temp[i]){
occurances+=1;
}
}
return occurances;
}

public Integer mostCommon(Integer[] array) {
return null;
Arrays.sort(array);
int most = 1;
//Most common value, start with array[0];
int val = array[0];
int current = 1;

for (int i = 1; i < array.length; i++) {
if (array[i] == array[i - 1]){
current++;
}else {
if (current > most) {
most = current;
val = array[i - 1];
}
current = 1;
}
}
// If last element is most frequent
if (current > most) {
most = current;
val = array[array.length - 1];
}
return val;
}

}
52 changes: 46 additions & 6 deletions src/main/java/com/dtcc/exams/part2/ListUtility.java
Original file line number Diff line number Diff line change
@@ -1,31 +1,71 @@
package com.dtcc.exams.part2;

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;

public class ListUtility {

private ArrayList<Integer> list = new ArrayList<>();

public Boolean add(int i) {
return null;
return list.add(i);
}

public Integer size() {
return null;
return list.size();
}

public List<Integer> getUnique() {
return null;
ArrayList<Integer> temp = new ArrayList<>();
for(int i = 0; i < list.size(); i++){
if(!temp.contains(list.get(i))){
temp.add(list.get(i));
}
}
return temp;
}

//I know this is lowkey cheating, but it works -\_(-_-)_/-
public String join() {
return null;
String temp_string = list.get(0).toString();
if(list.size() > 1) {
temp_string += ", ";
for (int i = 1; i < list.size()-1; i++) {
temp_string += list.get(i).toString() + ", ";
}
temp_string += list.get(list.size()-1).toString();
}
return temp_string;
}

public Integer mostCommon() {
return null;
int most = 1;
//Most common value, start with array[0];
int val = list.get(0);
int current = 1;

for (int i = 1; i < list.size(); i++) {
if (list.get(i) == list.get(i-1)){
current++;
}else {
if (current > most) {
most = current;
val = list.get(i-1);
}
current = 1;
}
}
// If last element is most frequent
if (current > most) {
most = current;
val = list.get(list.size()-1);
}
return val;
}

public Boolean contains(Integer valueToAdd) {
return null;
return list.contains(valueToAdd);
}

}
31 changes: 24 additions & 7 deletions src/main/java/com/dtcc/exams/part2/Router.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,39 @@
package com.dtcc.exams.part2;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

public class Router {
//<PATH, CONTROLLER>
Map<String,String> routerMap = new LinkedHashMap<>();

public void add(String path, String controller) {
}
public void add(String path, String controller) {routerMap.put(path, controller);}

public Integer size() {
return null;
}
public Integer size() {return routerMap.size();}

public String getController(String path) {
return null;
return routerMap.get(path);
}

public void update(String path, String studentController) {
routerMap.remove(path);
routerMap.put(path, studentController);
}

public void remove(String path) {
public void remove(String path) {routerMap.remove(path);
}

public String toString(){
String temp_string="";

//Entries, each entry
for(Map.Entry m:routerMap.entrySet()){
String key = (String)m.getKey();
String value = (String)m.getValue();
temp_string += (key + " -> " + value + "\n");
}
return temp_string;
}

}
11 changes: 6 additions & 5 deletions src/main/java/com/dtcc/exams/part3/Bird.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package com.dtcc.exams.part3;

public class Bird {
public abstract class Bird {

private int speed;
private String move;

public String move() {
return null;
return "fly";
}

public void setMigrationMonth(String expected) {

}
public void setMigrationMonth(String expected) {}

public String getMigrationMonth() {
return null;
Expand Down
15 changes: 14 additions & 1 deletion src/main/java/com/dtcc/exams/part3/Horse.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
package com.dtcc.exams.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 "black";
}
}
12 changes: 11 additions & 1 deletion src/main/java/com/dtcc/exams/part3/PeregrineFalcon.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
package com.dtcc.exams.part3;

public class PeregrineFalcon {
public class PeregrineFalcon extends Bird implements Animal {

@Override
public int getSpeed() {
return 13;
}

@Override
public String color() {
return "brown";
}
}
21 changes: 20 additions & 1 deletion src/main/java/com/dtcc/exams/part3/RedRobin.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
package com.dtcc.exams.part3;

public class RedRobin {
public class RedRobin extends Bird implements Animal {

private String migrationMonth;

@Override
public int getSpeed() {
return 10;
}

@Override
public String color() {
return "red";
}

public void setMigrationMonth(String month){
this.migrationMonth = month;
}
public String getMigrationMonth() {
return this.migrationMonth;
}
}
7 changes: 6 additions & 1 deletion src/main/java/com/dtcc/exams/part3/SpeedComparator.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
package com.dtcc.exams.part3;

public class SpeedComparator {
import java.util.Comparator;

public class SpeedComparator implements Comparator<Animal> {

public int compare(Animal animal1, Animal animal2){return (animal2.getSpeed()-animal1.getSpeed());
}
}
1 change: 0 additions & 1 deletion src/test/java/com/dtcc/exams/TestUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ public class TestUtils {
public static void assertArrayEquals(Object[] expected, Object[] actual) {
Arrays.sort(actual);
Arrays.sort(expected);

// then
Assert.assertEquals(Arrays.toString(expected), Arrays.toString(actual));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public void test2() {

@Test
public void test3() {

test("jump", 'z', false);
}

Expand Down
Loading