RobotFactory testet nach Pris

master
Kai-Niklas Dippold 2023-01-08 15:45:13 +01:00
parent a89876eacf
commit 9b093fba51
3 changed files with 70 additions and 62 deletions

View File

@ -33,15 +33,25 @@ class RobotFactoryTest {
@Order(2) @Order(2)
@Test @Test
void addRoboterTest() { void prisTest() {
int id = rf.addRobot(RobotType.R2D2, "Test"); assertEquals("Pris", rf.findeRoboter(19281982).getName());
assertEquals(2, rf.getRoboterLagerSize()); assertEquals(RobotType.NEXUS6, rf.findeRoboter(19281982).getRobotType());
int id2 = rf.addRobot(RobotType.C3PO, "Test2");
assertEquals(3, rf.getRoboterLagerSize());
} }
@Order(3) @Order(3)
@Test @Test
void addRoboterTest() {
int id = rf.addRobot(RobotType.R2D2, "Test");
assertEquals(2, rf.getRoboterLagerSize());
assertEquals("Test", rf.findeRoboter(id).getName());
int id2 = rf.addRobot(RobotType.C3PO, "Test2");
assertEquals(3, rf.getRoboterLagerSize());
assertEquals("Test2", rf.findeRoboter(id2).getName());
}
@Order(4)
@Test
void zustandTest() { void zustandTest() {
int id = rf.addRobot(RobotType.R2D2, "Test"); int id = rf.addRobot(RobotType.R2D2, "Test");
assertFalse(rf.roboterZustand(id)); assertFalse(rf.roboterZustand(id));
@ -50,7 +60,7 @@ class RobotFactoryTest {
} }
@Order(4) @Order(5)
@Test @Test
void aufrufSpeakAndThinkTest() throws RobotException { void aufrufSpeakAndThinkTest() throws RobotException {
int id = rf.addRobot(RobotType.R2D2, "Test"); int id = rf.addRobot(RobotType.R2D2, "Test");
@ -62,14 +72,14 @@ class RobotFactoryTest {
assertEquals("8; 7; 5; 4; 3; ", rf.aufrufSpeakAndThink(id2, zahlen)); assertEquals("8; 7; 5; 4; 3; ", rf.aufrufSpeakAndThink(id2, zahlen));
} }
@Order(5) @Order(6)
@Test @Test
void datenDesRobotersTest() { void datenDesRobotersTest() {
int id = rf.addRobot(RobotType.R2D2, "Test"); int id = rf.addRobot(RobotType.R2D2, "Test");
assertEquals("RoboterType: " + "R2D2" + "; Name: " + "Test" + "; Seriennummer: " + id, rf.datenDesRoboters(id)); assertEquals("RoboterType: " + "R2D2" + "; Name: " + "Test" + "; Seriennummer: " + id, rf.datenDesRoboters(id));
} }
@Order(6) @Order(7)
@Test @Test
void idVergebenTest() { void idVergebenTest() {
rf = new RobotFactory("Test2"); rf = new RobotFactory("Test2");

View File

@ -3,13 +3,11 @@ package ui;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Scanner; import java.util.Scanner;
import javax.management.loading.PrivateClassLoader;
import facade.Factorysystem; import facade.Factorysystem;
import tpe.exceptions.roboter.exceptions.RobotException; import tpe.exceptions.roboter.exceptions.RobotException;
/** /**
* Hier ist die Ui für den User. * Hier ist die Ui für den User. Um Roboter zu Bauen und sie zu steuern.
* Um Roboter zu Bauen und sie zu steuern.
* *
* *
*/ */
@ -17,16 +15,18 @@ public class Factory {
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
private Factorysystem factorysystem; private Factorysystem factorysystem;
public Factory(Factorysystem factorysystem) throws RobotException { public Factory(Factorysystem factorysystem) {
this.factorysystem = factorysystem; this.factorysystem = factorysystem;
hauptmenü(); hauptmenü();
} }
/** /**
* Das Hauptmenü wo sich der User entscheiden kann * Das Hauptmenü wo sich der User entscheiden kann einen Roboter zu bauen oder
* einen Roboter zu bauen oder einen auszuwählen um hin zu Steuern. * einen auszuwählen um hin zu Steuern.
*
* @throws RobotException * @throws RobotException
*/ */
private void hauptmenü() throws RobotException { private void hauptmenü() {
int input = 0; int input = 0;
mainloop: while (true) { mainloop: while (true) {
System.out.println(); System.out.println();
@ -37,8 +37,8 @@ public class Factory {
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
/** /**
* Die While-Schleife mit dem try und catch Block dient dazu, * Die While-Schleife mit dem try und catch Block dient dazu, um zu verhindern
* um zu verhindern dass das Programm durch eine Fehleingabe aufhört. * dass das Programm durch eine Fehleingabe aufhört.
* *
*/ */
while (true) { while (true) {
@ -69,9 +69,10 @@ public class Factory {
System.out.println("Programm beendet!"); System.out.println("Programm beendet!");
} }
/** /**
* Hier wird der User gefragt welchen RoboterTyp und welchen Namen der * Hier wird der User gefragt welchen RoboterTyp und welchen Namen der Roboter
* Roboter haben soll. Fehleingaben oder Blank-Eingaben werden verhindert. * haben soll. Fehleingaben oder Blank-Eingaben werden verhindert.
*/ */
private void roboterBauen() { private void roboterBauen() {
int auswahl; int auswahl;
@ -87,9 +88,9 @@ public class Factory {
} }
} }
/** /**
* hier wird verhinder, dass der User seinen Roboter nicht benennt. * hier wird verhinder, dass der User seinen Roboter nicht benennt. Wenn die
* Wenn die Eingabe nicht aus Blanks besteht, bricht die While-Schleife ab * Eingabe nicht aus Blanks besteht, bricht die While-Schleife ab und das
* und das Programm läuft weiter. * Programm läuft weiter.
*/ */
while (true) { while (true) {
System.out.println("Wie wollen Sie ihren Roboter nennen?"); System.out.println("Wie wollen Sie ihren Roboter nennen?");
@ -102,14 +103,17 @@ public class Factory {
System.out.println(name + " mit der Seriennummer: " + seriennummer + " wurde erstellt."); System.out.println(name + " mit der Seriennummer: " + seriennummer + " wurde erstellt.");
} }
/** /**
* Führt zum nächsten Menü um den User den Roboter steuern zu lassen. * Führt zum nächsten Menü um den User den Roboter steuern zu lassen.
* istDieserRoboterDa() überprüft ob die eingegebene Seriennummer einem Roboter gehört. * istDieserRoboterDa() überprüft ob die eingegebene Seriennummer einem Roboter
* Ist das der Fall, wird die While-Schleife abgebrochen und das Programm läuft weiter. * gehört. Ist das der Fall, wird die While-Schleife abgebrochen und das
* ISt das nicht der Fall, wird der User zurück ins Hauptmenü geschickt. * Programm läuft weiter. ISt das nicht der Fall, wird der User zurück ins
* Hauptmenü geschickt.
*
* @throws RobotException * @throws RobotException
*/ */
private void roboterAuswählen() throws RobotException { private void roboterAuswählen() {
int id; int id;
while (true) { while (true) {
try { try {
@ -161,8 +165,10 @@ public class Factory {
} }
} }
} }
/** /**
* Schaut ob der Roboter schon im Roboter Lager existiert. * Schaut ob der Roboter schon im Roboter Lager existiert.
*
* @param id vom Roboter * @param id vom Roboter
* @return istDa ob der Roboter da ist oder nicht. * @return istDa ob der Roboter da ist oder nicht.
*/ */
@ -170,8 +176,10 @@ public class Factory {
boolean istDa = factorysystem.istDieserRoboterDa(id); boolean istDa = factorysystem.istDieserRoboterDa(id);
return istDa; return istDa;
} }
/** /**
* Um zu prüfen ob der Roboter An oder Aus ist. * Um zu prüfen ob der Roboter An oder Aus ist.
*
* @param id vom Roboter * @param id vom Roboter
*/ */
private void zustandAbfragen(int id) { private void zustandAbfragen(int id) {
@ -182,9 +190,10 @@ public class Factory {
System.out.println("Der Roboter ist aus!"); System.out.println("Der Roboter ist aus!");
} }
} }
/** /**
* Um den Roboter An oder Aus zuschalten. * Um den Roboter An oder Aus zuschalten. Pris bleibt ausgeschaltet.
* Pris bleibt ausgeschaltet. *
* @param id vom Roboter * @param id vom Roboter
*/ */
private void schalterBetätigen(int id) { private void schalterBetätigen(int id) {
@ -195,11 +204,12 @@ public class Factory {
System.out.println("Der Roboter wurde abgeschaltet!"); System.out.println("Der Roboter wurde abgeschaltet!");
} }
} }
/** /**
* Um den Roboter sprechen zu lassen. * Um den Roboter sprechen zu lassen. User wird aufgefordert Zahlen einzugeben.
* User wird aufgefordert Zahlen einzugeben. * User wird gefragt ob er noch mehr Zahlen hinzufügen möchte. Danach werden die
* User wird gefragt ob er noch mehr Zahlen hinzufügen möchte. * Zahlen sortiert und mit dem richtigen Trennzeichen ausgegeben.
* Danach werden die Zahlen sortiert und mit dem richtigen Trennzeichen ausgegeben. *
* @param id vom Roboter * @param id vom Roboter
*/ */
private void sprechen(int id) { private void sprechen(int id) {
@ -213,8 +223,8 @@ public class Factory {
int i = 2; int i = 2;
while (weiter) { while (weiter) {
/** /**
* Gibt der User etwas anderes außer j oder J ein, * Gibt der User etwas anderes außer j oder J ein, werden die Zahlen per Stream
* werden die Zahlen per Stream dem Array hinzugefügt. * dem Array hinzugefügt.
*/ */
System.out.println("Geben Sie die " + i + ". Zahl an"); System.out.println("Geben Sie die " + i + ". Zahl an");
zahl = Integer.parseInt(sc.nextLine()); zahl = Integer.parseInt(sc.nextLine());
@ -241,17 +251,20 @@ public class Factory {
} }
} }
/** /**
* Gibt die letzte Fehlermeldung vom Roboter aus. * Gibt die letzte Fehlermeldung vom Roboter aus.
*
* @param id vom Roboter * @param id vom Roboter
*/ */
private void letzteFehlermeldung(int id) { private void letzteFehlermeldung(int id) {
System.out.println(factorysystem.fehlerAuslesen(id)); System.out.println(factorysystem.fehlerAuslesen(id));
} }
/** /**
* Gibt die Daten vom Roboter aus. * Gibt die Daten vom Roboter aus. RoboterTyp, Name und Seriennummer.
* RoboterTyp, Name und Seriennummer. *
* @param id vom Roboter * @param id vom Roboter
*/ */
private void datenAbruf(int id) { private void datenAbruf(int id) {

View File

@ -1,35 +1,20 @@
package ui; package ui;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import facade.Factorysystem; import facade.Factorysystem;
import tpe.exceptions.roboter.exceptions.RobotException;
class FactoryTest { class FactoryTest {
private static Factorysystem fs; @BeforeAll
private static Factory factory; void init() {
Factorysystem fs = new Factorysystem("FabrikTest");
/*@BeforeAll Factory ui = new Factory(fs);
static void initFactory() throws RobotException { }
//Factorysystem fs = new Factorysystem ("Robot Fabrik");
//Factory factory = new Factory(fs);
}*/
/*@Test
void smoketest() {
assertNull(fs);
assertNotNull(factory);
}*/
@Test @Test
static void hauptmenüTest() throws RobotException{ void roboterBauenTest() {
Factorysystem fs = new Factorysystem ("Robot Fabrik");
Factory ui = new Factory (fs);
} }