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

View File

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

View File

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