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> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

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

View File

@ -50,13 +50,13 @@ class C3POTest {
C3PO c = new C3PO("Test"); C3PO c = new C3PO("Test");
int[] zahlen = {42,4,3,1,6,5}; int[] zahlen = {42,4,3,1,6,5};
c.think(zahlen); 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); 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.triggerPowerSwitch();
c.think(zahlen); 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); 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 { public int[] think(int[] zahlen) throws RobotException {
try { try {
if (this.isPowerOn() == false) { if (this.isPowerOn() == false) {
throw new RobotIllegalStateException(); throw new RobotIllegalStateException(this.getName());
} }
} catch (RobotIllegalStateException rise) { } catch (RobotIllegalStateException rise) {
letzteException = rise; letzteException = rise;

View File

@ -45,12 +45,12 @@ public class R2D2 extends Robotermodell implements Robot {
public int[] think(int[] zahlen) throws RobotException { public int[] think(int[] zahlen) throws RobotException {
try { try {
if (this.isPowerOn() == false) { if (this.isPowerOn() == false) {
throw new RobotIllegalStateException(); throw new RobotIllegalStateException(this.getName());
} }
for (int i = 0; i < zahlen.length; i++) { for (int i = 0; i < zahlen.length; i++) {
if (zahlen[i] == 42) { 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"); R2D2 r = new R2D2("Test");
int[] zahlen = {42,4,3,1,6,5}; int[] zahlen = {42,4,3,1,6,5};
r.think(zahlen); 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); 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.triggerPowerSwitch();
r.think(zahlen); 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); 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 { try {
if (this.isPowerOn() == false) { if (this.isPowerOn() == false) {
throw new RobotIllegalStateException(); throw new RobotIllegalStateException(name);
} }
for (int i = 0; i < zahlen.length; i++) { for (int i = 0; i < zahlen.length; i++) {
if (zahlen[i] == 42) { if (zahlen[i] == 42) {
throw new RobotMagicValueException(); throw new RobotMagicValueException(name);
} }
} }
@ -73,7 +73,7 @@ public abstract class Robotermodell implements Robot {
hilfszeichen = ","; hilfszeichen = ",";
} else { } else {
//wird beim Nexus6 geworfen //wird beim Nexus6 geworfen
throw new RobotIllegalStateException(); throw new RobotIllegalStateException(name);
} }
Arrays.stream(zahlen) 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. * 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) { public RobotIllegalStateException(String name) {
super(fehlertext); 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. * 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) { public RobotMagicValueException(String name) {
super(fehlertext); super(name + ": Zahl 42 kommt vor - Roboter: \"Ihhhhh\"!");
} }
} }