added speak method + tests
parent
aa77b2fcc6
commit
83f4f99f04
|
@ -3,9 +3,8 @@ package de.hsmannheim.informatik.name.domain.starwars;
|
||||||
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
||||||
|
|
||||||
public class C3PO extends StarWarsRobot {
|
public class C3PO extends StarWarsRobot {
|
||||||
@Override
|
public C3PO() {
|
||||||
public String speak(int[] zahlen) throws RobotException {
|
super(';');
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -13,8 +12,8 @@ public class C3PO extends StarWarsRobot {
|
||||||
int[] arrToSort = zahlen.clone();
|
int[] arrToSort = zahlen.clone();
|
||||||
for (int i = 1; i < arrToSort.length; i++) {
|
for (int i = 1; i < arrToSort.length; i++) {
|
||||||
for (int j = i; j > 0; j--) {
|
for (int j = i; j > 0; j--) {
|
||||||
if (arrToSort[j-1] > arrToSort[j]) {
|
if (arrToSort[j - 1] > arrToSort[j]) {
|
||||||
swap(arrToSort, j, j-1);
|
swap(arrToSort, j, j - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,8 @@ package de.hsmannheim.informatik.name.domain.starwars;
|
||||||
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
||||||
|
|
||||||
public class R2D2 extends StarWarsRobot {
|
public class R2D2 extends StarWarsRobot {
|
||||||
@Override
|
public R2D2() {
|
||||||
public String speak(int[] zahlen) throws RobotException {
|
super(',');
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,11 +1,17 @@
|
||||||
package de.hsmannheim.informatik.name.domain.starwars;
|
package de.hsmannheim.informatik.name.domain.starwars;
|
||||||
|
|
||||||
import de.hsmannheim.informatik.name.domain.robot_interfaces.Robot;
|
|
||||||
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
||||||
|
import de.hsmannheim.informatik.name.domain.robot_interfaces.Robot;
|
||||||
|
|
||||||
|
|
||||||
public abstract class StarWarsRobot implements Robot {
|
public abstract class StarWarsRobot implements Robot {
|
||||||
|
|
||||||
|
private final char SEPARATOR;
|
||||||
|
|
||||||
|
protected StarWarsRobot(char separator) {
|
||||||
|
SEPARATOR = separator;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -32,9 +38,19 @@ public abstract class StarWarsRobot implements Robot {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public abstract String speak(int[] zahlen) throws RobotException;
|
public String speak(int[] zahlen) throws RobotException {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
//Loops through every element of zahlen[]
|
||||||
|
for (int i = 0; i < zahlen.length; i++) {
|
||||||
|
sb.append(zahlen[i]);
|
||||||
|
//if current number is not the last number add a separator
|
||||||
|
if (i != zahlen.length - 1) {
|
||||||
|
sb.append(SEPARATOR).append(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public abstract int[] think(int[] zahlen) throws RobotException;
|
public abstract int[] think(int[] zahlen) throws RobotException;
|
||||||
|
|
||||||
protected static void swap(int[] arr, int a, int b) {
|
protected static void swap(int[] arr, int a, int b) {
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
import de.hsmannheim.informatik.name.domain.exceptions.RobotException;
|
||||||
|
import de.hsmannheim.informatik.name.domain.starwars.R2D2;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
|
||||||
|
class R2D2SpeakTest {
|
||||||
|
|
||||||
|
private final R2D2 r2d2 = new R2D2();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void speakTestStandard() throws RobotException {
|
||||||
|
assertEquals("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12", r2d2.speak(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void speakTestEmpty() throws RobotException {
|
||||||
|
assertEquals("", r2d2.speak(new int[]{}));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void speakTestZeros() throws RobotException {
|
||||||
|
assertEquals("0, 0, 0, 0", r2d2.speak(new int[4]));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void speakTestOneElement() throws RobotException {
|
||||||
|
assertEquals("1", r2d2.speak(new int[]{1}));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void speakTestUnitElements() throws RobotException {
|
||||||
|
assertEquals("-1, 0, 1", r2d2.speak(new int[]{-1, 0, 1}));
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,12 +0,0 @@
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
|
|
||||||
class R2D2Test {
|
|
||||||
|
|
||||||
@org.junit.jupiter.api.Test
|
|
||||||
void speak() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@org.junit.jupiter.api.Test
|
|
||||||
void think() {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
public class R2D2ThinkTest {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue