Kleine Ergänzungen + Exception enthält nun den Namen

main
cedri 2023-01-08 21:34:56 +01:00
parent bbcfe41056
commit d04f0b1c05
9 changed files with 26 additions and 24 deletions

View File

@ -6,5 +6,6 @@
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -45,12 +45,12 @@ public class C3PO extends Robotermodell implements Robot {
public int[] think(int[] zahlen) throws RobotException {
try {
if (this.isPowerOn() == false) {
throw new RobotIllegalStateException();
throw new RobotIllegalStateException(this.getName());
}
for (int i = 0; i < zahlen.length; i++) {
if (zahlen[i] == 42) {
throw new RobotMagicValueException();
throw new RobotMagicValueException(this.getName());
}
}
for (int i = 0; i < zahlen.length - 1; i++) {

View File

@ -50,13 +50,13 @@ class C3POTest {
C3PO c = new C3PO("Test");
int[] zahlen = {42,4,3,1,6,5};
c.think(zahlen);
assertEquals("exceptions.RobotMagicValueException: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", c.getLastException().toString());
assertEquals("exceptions.RobotMagicValueException: Test: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", c.getLastException().toString());
c.speak(zahlen);
assertEquals("exceptions.RobotMagicValueException: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", c.getLastException().toString());
assertEquals("exceptions.RobotMagicValueException: Test: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", c.getLastException().toString());
c.triggerPowerSwitch();
c.think(zahlen);
assertEquals("exceptions.RobotIllegalStateException: Leider ist der Roboter aus und kann nichts machen!", c.getLastException().toString());
assertEquals("exceptions.RobotIllegalStateException: Test: Leider ist der Roboter aus und kann nichts machen!", c.getLastException().toString());
c.speak(zahlen);
assertEquals("exceptions.RobotIllegalStateException: Leider ist der Roboter aus und kann nichts machen!", c.getLastException().toString());
assertEquals("exceptions.RobotIllegalStateException: Test: Leider ist der Roboter aus und kann nichts machen!", c.getLastException().toString());
}
}

View File

@ -66,7 +66,7 @@ public class Nexus6 extends Robotermodell implements Robot {
public int[] think(int[] zahlen) throws RobotException {
try {
if (this.isPowerOn() == false) {
throw new RobotIllegalStateException();
throw new RobotIllegalStateException(this.getName());
}
} catch (RobotIllegalStateException rise) {
letzteException = rise;

View File

@ -45,12 +45,12 @@ public class R2D2 extends Robotermodell implements Robot {
public int[] think(int[] zahlen) throws RobotException {
try {
if (this.isPowerOn() == false) {
throw new RobotIllegalStateException();
throw new RobotIllegalStateException(this.getName());
}
for (int i = 0; i < zahlen.length; i++) {
if (zahlen[i] == 42) {
throw new RobotMagicValueException();
throw new RobotMagicValueException(this.getName());
}
}

View File

@ -50,13 +50,13 @@ class R2D2Test {
R2D2 r = new R2D2("Test");
int[] zahlen = {42,4,3,1,6,5};
r.think(zahlen);
assertEquals("exceptions.RobotMagicValueException: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", r.getLastException().toString());
assertEquals("exceptions.RobotMagicValueException: Test: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", r.getLastException().toString());
r.speak(zahlen);
assertEquals("exceptions.RobotMagicValueException: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", r.getLastException().toString());
assertEquals("exceptions.RobotMagicValueException: Test: Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!", r.getLastException().toString());
r.triggerPowerSwitch();
r.think(zahlen);
assertEquals("exceptions.RobotIllegalStateException: Leider ist der Roboter aus und kann nichts machen!", r.getLastException().toString());
assertEquals("exceptions.RobotIllegalStateException: Test: Leider ist der Roboter aus und kann nichts machen!", r.getLastException().toString());
r.speak(zahlen);
assertEquals("exceptions.RobotIllegalStateException: Leider ist der Roboter aus und kann nichts machen!", r.getLastException().toString());
assertEquals("exceptions.RobotIllegalStateException: Test: Leider ist der Roboter aus und kann nichts machen!", r.getLastException().toString());
}
}

View File

@ -56,12 +56,12 @@ public abstract class Robotermodell implements Robot {
try {
if (this.isPowerOn() == false) {
throw new RobotIllegalStateException();
throw new RobotIllegalStateException(name);
}
for (int i = 0; i < zahlen.length; i++) {
if (zahlen[i] == 42) {
throw new RobotMagicValueException();
throw new RobotMagicValueException(name);
}
}
@ -73,7 +73,7 @@ public abstract class Robotermodell implements Robot {
hilfszeichen = ",";
} else {
//wird beim Nexus6 geworfen
throw new RobotIllegalStateException();
throw new RobotIllegalStateException(name);
}
Arrays.stream(zahlen)

View File

@ -20,12 +20,13 @@ public class RobotIllegalStateException extends RobotException{
}
/**
* Der Konstruktor bekommt einen String übergeben und gibt diesen an
* Der Konstruktor bekommt einen String (den Namen) übergeben und gibt diesen an
* seine Superklasse weiter.
*
* @param String fehlertext repräsentiert den Text den die Exception wirft.
* @param String name repräsentiert den Namen des Roboters der die Exception wirft.
*/
public RobotIllegalStateException(String fehlertext) {
super(fehlertext);
public RobotIllegalStateException(String name) {
super(name + ": Leider ist der Roboter aus und kann nichts machen!");
}
}

View File

@ -20,13 +20,13 @@ public class RobotMagicValueException extends RobotException{
}
/**
* Der Konstruktor bekommt einen String übergeben und gibt diesen an
* Der Konstruktor bekommt einen String (den Namen) übergeben und gibt diesen an
* seine Superklasse weiter.
*
* @param String fehlertext repräsentiert den Text den die Exception wirft.
* @param String name repräsentiert den Namen des Roboters der die Exception wirft.
*/
public RobotMagicValueException(String fehlertext) {
super(fehlertext);
public RobotMagicValueException(String name) {
super(name + ": Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!");
}
}