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="src" path="Bank-Beispiel/src"/>
|
||||
<classpathentry kind="src" path="Roboter"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
|
|
@ -21,13 +21,13 @@ public class Nexus6 extends Robots {
|
|||
}
|
||||
@Override
|
||||
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
|
||||
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);
|
||||
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}
|
||||
* @param id
|
||||
|
|
|
@ -52,6 +52,11 @@ public abstract class Robots implements Robot{
|
|||
}
|
||||
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 {
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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) {
|
||||
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