generated from hummel/Bank-System
Erste Junit Tests für Robots dismantleRobot entfernt
parent
4c687759fd
commit
12e1932f45
|
@ -3,5 +3,6 @@
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
<classpathentry kind="src" path="Bank-Beispiel/src"/>
|
<classpathentry kind="src" path="Bank-Beispiel/src"/>
|
||||||
<classpathentry kind="src" path="Roboter"/>
|
<classpathentry kind="src" path="Roboter"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -21,13 +21,13 @@ public class Nexus6 extends Robots {
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public String speak(int[] zahlen) throws RobotException {
|
public String speak(int[] zahlen) throws RobotException {
|
||||||
throw new RobotIllegalStateException("Der Nexus6-Roboter: Pris ist ausgeschaltet!", this.getName());
|
throw new RobotIllegalStateException("Der Nexus6-Roboter ist ausgeschaltet!", this.getName());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int[] think(int[] zahlen) throws RobotException {
|
public int[] think(int[] zahlen) throws RobotException {
|
||||||
throw new RobotIllegalStateException("Der Nexus6-Roboter: Pris ist ausgeschaltet!", this.getName());
|
throw new RobotIllegalStateException("Der Nexus6-Roboter ist ausgeschaltet!", this.getName());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,14 +102,6 @@ public class RobotFactory {
|
||||||
Robots robot=getRobot(id);
|
Robots robot=getRobot(id);
|
||||||
return robot.toString();
|
return robot.toString();
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Ermöglicht Roboter zur jeweiligen ID aus der HashMap zu löschen => Roboter Instanz löschen
|
|
||||||
* @param id
|
|
||||||
* @return Bei null wurde kein Roboter zur ID gefunden falls Roboter zurückgegeben wird ist dieser gelöscht
|
|
||||||
*/
|
|
||||||
public Robots dismantleRobot(int id) {
|
|
||||||
return robotStock.remove(id);
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Sucht den Roboter zur ID aus der HashMap und ermittelt über {@link Robots} Funktion die {@link RobotException}
|
* Sucht den Roboter zur ID aus der HashMap und ermittelt über {@link Robots} Funktion die {@link RobotException}
|
||||||
* @param id
|
* @param id
|
||||||
|
|
|
@ -52,6 +52,11 @@ public abstract class Robots implements Robot{
|
||||||
}
|
}
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Unterscheidung der Ausgabe durch die Art der Sortierung: <br>
|
||||||
|
* R2D2: sortiert aufsteigend Wert an der Stelle 0 des Arrays ist kleiner als an der letzten Stelle <br>
|
||||||
|
* C3PO: sortiert absteigend Wert an der Stelle 0 des Arrays ist größer als an der letzten Stelle
|
||||||
|
*/
|
||||||
public String speak(int[] zahlen) throws RobotException {
|
public String speak(int[] zahlen) throws RobotException {
|
||||||
|
|
||||||
if(powerStatus==false)
|
if(powerStatus==false)
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
package tpe.exceptions.roboter;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.*;
|
||||||
|
|
||||||
|
import tpe.exceptions.RobotException;
|
||||||
|
import tpe.exceptions.RobotIllegalStateException;
|
||||||
|
import tpe.exceptions.RobotMagicValueException;
|
||||||
|
|
||||||
|
public class RobotsTest {
|
||||||
|
RobotException robotException;
|
||||||
|
Robots robots;
|
||||||
|
Robots R2rob= new R2D2("Testname1", 1);
|
||||||
|
Robots C3rob=new C3PO("Testname2",10000);
|
||||||
|
Robots Nerob=Nexus6.getInstance();
|
||||||
|
int[] testZahlen1= {1,4,3,42,78,20};
|
||||||
|
int[] testZahlen2= {1,4,3,41,78,20};
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void basicRobotsTest() throws RobotException
|
||||||
|
{
|
||||||
|
assertEquals(R2rob.getName(),"Testname1");
|
||||||
|
assertEquals(R2rob.getId(),1);
|
||||||
|
assertFalse(R2rob.powerStatus);
|
||||||
|
R2rob.triggerPowerSwitch();
|
||||||
|
assertTrue(R2rob.powerStatus);
|
||||||
|
|
||||||
|
assertEquals(C3rob.getName(),"Testname2");
|
||||||
|
assertEquals(C3rob.getId(),10000);
|
||||||
|
assertFalse(C3rob.powerStatus);
|
||||||
|
C3rob.triggerPowerSwitch();
|
||||||
|
assertTrue(C3rob.powerStatus);
|
||||||
|
|
||||||
|
assertEquals(Nerob.getName(),"Pris");
|
||||||
|
assertEquals(Nerob.getId(),19281982);
|
||||||
|
assertFalse(Nerob.powerStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void speakAndThinkTest() throws RobotException{
|
||||||
|
RobotIllegalStateException thrownState=Assertions.assertThrows(RobotIllegalStateException.class,() -> R2rob.speak(testZahlen2));
|
||||||
|
assertEquals(thrownState.getMessage(),"Robotname-Testname1: Der Roboter ist ausgeschaltet!");
|
||||||
|
R2rob.triggerPowerSwitch();
|
||||||
|
assertEquals("1, 3, 4, 20, 41, 78", R2rob.speak(R2rob.think(testZahlen2)));
|
||||||
|
RobotMagicValueException thrownValue=Assertions.assertThrows(RobotMagicValueException.class,() -> R2rob.speak(testZahlen1));
|
||||||
|
assertEquals(thrownValue.getMessage(),"Robotname-Testname1: Zahl 42 kann nicht verarbeitet werden!");
|
||||||
|
|
||||||
|
RobotIllegalStateException thrownState2=Assertions.assertThrows(RobotIllegalStateException.class,() -> C3rob.speak(testZahlen2));
|
||||||
|
assertEquals(thrownState2.getMessage(),"Robotname-Testname2: Der Roboter ist ausgeschaltet!");
|
||||||
|
C3rob.triggerPowerSwitch();
|
||||||
|
assertEquals("78; 41; 20; 4; 3; 1", C3rob.speak(C3rob.think(testZahlen2)));
|
||||||
|
RobotMagicValueException thrownValue2=Assertions.assertThrows(RobotMagicValueException.class,() -> C3rob.speak(testZahlen1));
|
||||||
|
assertEquals(thrownValue2.getMessage(),"Robotname-Testname2: Zahl 42 kann nicht verarbeitet werden!");
|
||||||
|
|
||||||
|
RobotIllegalStateException thrownState3=Assertions.assertThrows(RobotIllegalStateException.class,() -> Nerob.speak(testZahlen2));
|
||||||
|
assertEquals(thrownState3.getMessage(),"Robotname-Pris: Der Nexus6-Roboter ist ausgeschaltet!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -36,12 +36,6 @@ public class FactorySystem {
|
||||||
return rf.robotInfo(id);
|
return rf.robotInfo(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String dismantleRobot(int id) {
|
|
||||||
if (rf.dismantleRobot(id) == null) {
|
|
||||||
return "Roboter erfolgreich demontiert";
|
|
||||||
} else
|
|
||||||
return "Fehler beim Demontieren des Roboters";
|
|
||||||
}
|
|
||||||
|
|
||||||
public RobotException robotBlackbox(int id) {
|
public RobotException robotBlackbox(int id) {
|
||||||
return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler
|
return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package tpe.facade;
|
||||||
|
|
||||||
|
public class FactorySystemTest {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue