parent
91e1c5afa0
commit
87815a7318
|
@ -5,17 +5,13 @@ import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotMagicValueException;
|
import tpe.exceptions.roboter.exceptions.RobotMagicValueException;
|
||||||
|
|
||||||
public class C3PO extends Roboter {
|
public class C3PO extends Roboter {
|
||||||
private String name;
|
|
||||||
private int id;
|
private int id;
|
||||||
//static int idZähler = 10000;
|
|
||||||
private RobotType robotType;
|
private RobotType robotType;
|
||||||
//RobotException fehler;
|
|
||||||
|
|
||||||
public C3PO(String name, int id) {
|
public C3PO(String name, int id) {
|
||||||
super(name);
|
super(name);
|
||||||
this.robotType = robotType.C3PO;
|
this.robotType = RobotType.C3PO;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
//idZähler++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -51,9 +47,9 @@ public class C3PO extends Roboter {
|
||||||
throw fehler;
|
throw fehler;
|
||||||
|
|
||||||
}
|
}
|
||||||
public RobotType getRobotType () {
|
|
||||||
|
public RobotType getRobotType() {
|
||||||
return this.robotType;
|
return this.robotType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,61 +7,53 @@ public class Nexus6 extends Roboter {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private int id;
|
private int id;
|
||||||
//RobotException fehler;
|
|
||||||
private static Nexus6 PRIS;
|
private static Nexus6 PRIS;
|
||||||
private RobotType robotType;
|
private RobotType robotType;
|
||||||
|
|
||||||
|
|
||||||
private Nexus6() {
|
private Nexus6() {
|
||||||
super("Pris");
|
super("Pris");
|
||||||
this.id = 19_281_982;
|
this.id = 19_281_982;
|
||||||
robotType = RobotType.NEXUS6;
|
robotType = RobotType.NEXUS6;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Nexus6 getInstance() {
|
||||||
|
|
||||||
public static Nexus6 getInstance () {
|
|
||||||
if (PRIS == null) {
|
if (PRIS == null) {
|
||||||
PRIS = new Nexus6();
|
PRIS = new Nexus6();
|
||||||
|
|
||||||
}
|
}
|
||||||
return PRIS;
|
return PRIS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void triggerPowerSwitch() {
|
public void triggerPowerSwitch() {
|
||||||
power = false;
|
power = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
//Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert.
|
|
||||||
|
// Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert.
|
||||||
@Override
|
@Override
|
||||||
public String speak(int[] zahlen) throws RobotException {
|
public String speak(int[] zahlen) throws RobotException {
|
||||||
fehler = new RobotIllegalStateException ("Roboter ausgeschaltet und Defekt!", this.name);
|
fehler = new RobotIllegalStateException("Roboter ausgeschaltet und Defekt!", this.name);
|
||||||
throw fehler;
|
throw fehler;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert.
|
// Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert.
|
||||||
@Override
|
@Override
|
||||||
public int[] think(int[] zahlen) throws RobotException {
|
public int[] think(int[] zahlen) throws RobotException {
|
||||||
fehler = new RobotIllegalStateException ("Roboter ausgeschaltet und Defekt!", this.name);
|
fehler = new RobotIllegalStateException("Roboter ausgeschaltet und Defekt!", this.name);
|
||||||
throw fehler;
|
throw fehler;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RobotType getRobotType() {
|
public RobotType getRobotType() {
|
||||||
|
|
||||||
return this.robotType;
|
return this.robotType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,17 @@
|
||||||
package Domäne;
|
package Domäne;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
import tpe.exceptions.roboter.Robot;
|
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
import tpe.exceptions.roboter.exceptions.RobotException;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
|
import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotMagicValueException;
|
import tpe.exceptions.roboter.exceptions.RobotMagicValueException;
|
||||||
|
|
||||||
public class R2D2 extends Roboter {
|
public class R2D2 extends Roboter {
|
||||||
private int id;
|
private int id;
|
||||||
//private static int idZähler = 0;
|
|
||||||
private RobotType robotType;
|
private RobotType robotType;
|
||||||
//RobotException fehler;
|
|
||||||
|
|
||||||
public R2D2(String name, int id) {
|
public R2D2(String name, int id) {
|
||||||
super(name);
|
super(name);
|
||||||
this.robotType = RobotType.R2D2;
|
this.robotType = RobotType.R2D2;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
//idZähler++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -38,7 +32,7 @@ public class R2D2 extends Roboter {
|
||||||
zahlen[k] = größer;
|
zahlen[k] = größer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return zahlen;
|
return zahlen;
|
||||||
} else
|
} else
|
||||||
|
@ -50,7 +44,8 @@ public class R2D2 extends Roboter {
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
public RobotType getRobotType () {
|
|
||||||
|
public RobotType getRobotType() {
|
||||||
return this.robotType;
|
return this.robotType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,84 +5,85 @@ import java.util.HashMap;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
import tpe.exceptions.roboter.exceptions.RobotException;
|
||||||
|
|
||||||
public class RobotFactory {
|
public class RobotFactory {
|
||||||
private String name;
|
private String name;
|
||||||
private Roboter pris = Nexus6.getInstance();
|
private Roboter pris = Nexus6.getInstance();
|
||||||
private HashMap <Integer, Roboter> roboterLager = new HashMap<>();
|
private HashMap<Integer, Roboter> roboterLager = new HashMap<>();
|
||||||
|
|
||||||
public RobotFactory (String name) {
|
public RobotFactory(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
roboterLager.put(pris.getId(), pris);
|
roboterLager.put(pris.getId(), pris);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int addRobot (RobotType robotType, String name) {
|
public int addRobot(RobotType robotType, String name) {
|
||||||
Roboter roboter;
|
Roboter roboter;
|
||||||
|
|
||||||
if (RobotType.R2D2 == robotType) {
|
if (RobotType.R2D2 == robotType) {
|
||||||
roboter = new R2D2 (name, idVergeben(0,9999));
|
roboter = new R2D2(name, idVergeben(0, 9999));
|
||||||
roboterLager.put(roboter.getId(), roboter);
|
roboterLager.put(roboter.getId(), roboter);
|
||||||
return roboter.getId();
|
return roboter.getId();
|
||||||
}
|
} else if (RobotType.C3PO == robotType) {
|
||||||
else if (RobotType.C3PO == robotType) {
|
roboter = new C3PO(name, idVergeben(10000, 19999));
|
||||||
roboter = new C3PO (name,idVergeben(10000,19999));
|
|
||||||
roboterLager.put(roboter.getId(), roboter);
|
roboterLager.put(roboter.getId(), roboter);
|
||||||
return roboter.getId();
|
return roboter.getId();
|
||||||
|
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Roboter findeRoboter (int id) {
|
public Roboter findeRoboter(int id) {
|
||||||
return roboterLager.get(id);
|
return roboterLager.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int idVergeben(int min, int max) {
|
private int idVergeben(int min, int max) {
|
||||||
|
|
||||||
int randomValue = (int) (Math.random()*(max - min)) + min;
|
int randomValue = (int) (Math.random() * (max - min)) + min;
|
||||||
if (roboterLager.containsKey(randomValue)) {
|
if (roboterLager.containsKey(randomValue)) {
|
||||||
idVergeben(min, max);
|
idVergeben(min, max);
|
||||||
}
|
}
|
||||||
|
|
||||||
return randomValue;
|
return randomValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean roboterZustand(int id) {
|
public boolean roboterZustand(int id) {
|
||||||
Roboter r = findeRoboter(id);
|
Roboter r = findeRoboter(id);
|
||||||
boolean zustand = r.isPowerOn();
|
boolean zustand = r.isPowerOn();
|
||||||
return zustand;
|
return zustand;
|
||||||
}
|
}
|
||||||
public boolean schalterAnAus(int id){
|
|
||||||
|
public boolean schalterAnAus(int id) {
|
||||||
Roboter r = findeRoboter(id);
|
Roboter r = findeRoboter(id);
|
||||||
r.triggerPowerSwitch();
|
r.triggerPowerSwitch();
|
||||||
boolean zustand = r.isPowerOn();
|
boolean zustand = r.isPowerOn();
|
||||||
return zustand;
|
return zustand;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String aufrufSpeakAndThink (int id, int [] zahlen) throws RobotException {
|
public String aufrufSpeakAndThink(int id, int[] zahlen) throws RobotException {
|
||||||
Roboter r = findeRoboter(id);
|
Roboter r = findeRoboter(id);
|
||||||
int [] sotiert = r.think(zahlen);
|
int[] sotiert = r.think(zahlen);
|
||||||
String ausgabe = r.speak(sotiert);
|
String ausgabe = r.speak(sotiert);
|
||||||
return ausgabe;
|
return ausgabe;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RobotException letzterFehler(int id) {
|
public RobotException letzterFehler(int id) {
|
||||||
Roboter r = findeRoboter(id);
|
Roboter r = findeRoboter(id);
|
||||||
return r.getLastException();
|
return r.getLastException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String datenDesRoboters (int id) {
|
public String datenDesRoboters(int id) {
|
||||||
Roboter r = findeRoboter(id);
|
Roboter r = findeRoboter(id);
|
||||||
String robotType= r.getRobotType().toString();
|
String robotType = r.getRobotType().toString();
|
||||||
String name = r.getName();
|
String name = r.getName();
|
||||||
int seriennummer = r.getId();
|
int seriennummer = r.getId();
|
||||||
String ausgabe = "RoboterType: " + robotType + "; Name: " +name + "; Seriennummer: " + seriennummer;
|
String ausgabe = "RoboterType: " + robotType + "; Name: " + name + "; Seriennummer: " + seriennummer;
|
||||||
return ausgabe;
|
return ausgabe;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRoboterLagerSize() {
|
public int getRoboterLagerSize() {
|
||||||
return roboterLager.size();
|
return roboterLager.size();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,47 +9,47 @@ import tpe.exceptions.roboter.exceptions.RobotException;
|
||||||
|
|
||||||
class RobotFactoryTest {
|
class RobotFactoryTest {
|
||||||
private static RobotFactory rf;
|
private static RobotFactory rf;
|
||||||
|
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void initRobotFactory() {
|
static void initRobotFactory() {
|
||||||
rf = new RobotFactory ("Test");
|
rf = new RobotFactory("Test");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void smokeTest() {
|
void smokeTest() {
|
||||||
assertNotNull(rf);
|
assertNotNull(rf);
|
||||||
assertEquals(1, rf.getRoboterLagerSize());
|
assertEquals(1, rf.getRoboterLagerSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void addRoboterTest() {
|
void addRoboterTest() {
|
||||||
int id = rf.addRobot(RobotType.R2D2, "Test");
|
int id = rf.addRobot(RobotType.R2D2, "Test");
|
||||||
assertEquals(2, rf.getRoboterLagerSize());
|
assertEquals(2, rf.getRoboterLagerSize());
|
||||||
int id2 = rf.addRobot(RobotType.C3PO, "Test2");
|
int id2 = rf.addRobot(RobotType.C3PO, "Test2");
|
||||||
assertEquals(3, rf.getRoboterLagerSize());
|
assertEquals(3, rf.getRoboterLagerSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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));
|
||||||
rf.schalterAnAus(id);
|
rf.schalterAnAus(id);
|
||||||
assertTrue(rf.roboterZustand(id));
|
assertTrue(rf.roboterZustand(id));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void aufrufSpeakAndThinkTest() throws RobotException {
|
void aufrufSpeakAndThinkTest() throws RobotException {
|
||||||
int id = rf.addRobot(RobotType.R2D2, "Test");
|
int id = rf.addRobot(RobotType.R2D2, "Test");
|
||||||
rf.schalterAnAus(id);
|
rf.schalterAnAus(id);
|
||||||
int [] zahlen = {5,8,4,3,7};
|
int[] zahlen = { 5, 8, 4, 3, 7 };
|
||||||
assertEquals("3, 4, 5, 7, 8, ",rf.aufrufSpeakAndThink(id, zahlen));
|
assertEquals("3, 4, 5, 7, 8, ", rf.aufrufSpeakAndThink(id, zahlen));
|
||||||
}
|
}
|
||||||
|
|
||||||
@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));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
package Domäne;
|
package Domäne;
|
||||||
|
|
||||||
public enum RobotType {
|
public enum RobotType {
|
||||||
R2D2, C3PO, NEXUS6
|
R2D2, C3PO, NEXUS6
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,6 @@ public abstract class Roboter implements Robot {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public abstract int[] think(int[] zahlen) throws RobotException;
|
public abstract int[] think(int[] zahlen) throws RobotException;
|
||||||
|
|
||||||
public abstract RobotType getRobotType();
|
public abstract RobotType getRobotType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,12 @@ class RoboterTest {
|
||||||
Roboter roboter = new R2D2("Test", 1);
|
Roboter roboter = new R2D2("Test", 1);
|
||||||
Roboter robi = new C3PO("Test2", 10000);
|
Roboter robi = new C3PO("Test2", 10000);
|
||||||
assertEquals(roboter.getName(), "Test");
|
assertEquals(roboter.getName(), "Test");
|
||||||
assertEquals(1,roboter.getId());
|
assertEquals(1, roboter.getId());
|
||||||
assertEquals(robi.getName(), "Test2");
|
assertEquals(robi.getName(), "Test2");
|
||||||
assertEquals(10000, robi.getId());
|
assertEquals(10000, robi.getId());
|
||||||
}
|
}
|
||||||
@Test
|
|
||||||
|
@Test
|
||||||
void triggerPowerSwitchTest() {
|
void triggerPowerSwitchTest() {
|
||||||
Roboter r2d2 = new R2D2("Test", 1);
|
Roboter r2d2 = new R2D2("Test", 1);
|
||||||
Roboter c3po = new C3PO("Test", 15000);
|
Roboter c3po = new C3PO("Test", 15000);
|
||||||
|
@ -29,18 +30,21 @@ class RoboterTest {
|
||||||
c3po.triggerPowerSwitch();
|
c3po.triggerPowerSwitch();
|
||||||
assertTrue(r2d2.isPowerOn());
|
assertTrue(r2d2.isPowerOn());
|
||||||
assertTrue(c3po.isPowerOn());
|
assertTrue(c3po.isPowerOn());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void getLastExceptionTest() {
|
void getLastExceptionTest() {
|
||||||
Roboter r2d2 = new R2D2("Test", 1);
|
Roboter r2d2 = new R2D2("Test", 1);
|
||||||
int [] zahlen = {5,4,8,1};
|
int[] zahlen = { 5, 4, 8, 1 };
|
||||||
assertNull(r2d2.getLastException());
|
assertNull(r2d2.getLastException());
|
||||||
try {
|
try {
|
||||||
r2d2.think(zahlen);
|
r2d2.think(zahlen);
|
||||||
} catch (RobotException e) {
|
} catch (RobotException e) {
|
||||||
} assertNotNull(r2d2.getLastException());
|
}
|
||||||
|
assertNotNull(r2d2.getLastException());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void nexus6SingletonTest() {
|
void nexus6SingletonTest() {
|
||||||
Roboter pris = Nexus6.getInstance();
|
Roboter pris = Nexus6.getInstance();
|
||||||
|
@ -50,6 +54,6 @@ class RoboterTest {
|
||||||
assertFalse(pris.isPowerOn());
|
assertFalse(pris.isPowerOn());
|
||||||
pris.triggerPowerSwitch();
|
pris.triggerPowerSwitch();
|
||||||
assertFalse(pris.isPowerOn());
|
assertFalse(pris.isPowerOn());
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,56 +1,50 @@
|
||||||
package facade;
|
package facade;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
import Domäne.C3PO;
|
|
||||||
import Domäne.R2D2;
|
|
||||||
import Domäne.RobotFactory;
|
import Domäne.RobotFactory;
|
||||||
import Domäne.RobotType;
|
import Domäne.RobotType;
|
||||||
import Domäne.Roboter;
|
|
||||||
import tpe.exceptions.roboter.exceptions.RobotException;
|
import tpe.exceptions.roboter.exceptions.RobotException;
|
||||||
|
|
||||||
public class Factorysystem {
|
public class Factorysystem {
|
||||||
private RobotFactory robotFactory;
|
private RobotFactory robotFactory;
|
||||||
|
|
||||||
|
public Factorysystem(String name) {
|
||||||
public Factorysystem (String name) {
|
this.robotFactory = new RobotFactory(name);
|
||||||
this.robotFactory = new RobotFactory (name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int roboterAnlegen (String name, int auswahl) {
|
public int roboterAnlegen(String name, int auswahl) {
|
||||||
RobotType robottype;
|
RobotType robottype;
|
||||||
if(auswahl == 1) {
|
if (auswahl == 1) {
|
||||||
robottype = RobotType.R2D2;
|
robottype = RobotType.R2D2;
|
||||||
int id = robotFactory.addRobot(robottype, name);
|
int id = robotFactory.addRobot(robottype, name);
|
||||||
return id;
|
return id;
|
||||||
} else if(auswahl == 2) {
|
} else if (auswahl == 2) {
|
||||||
robottype = RobotType.C3PO;
|
robottype = RobotType.C3PO;
|
||||||
int id = robotFactory.addRobot(robottype, name);
|
int id = robotFactory.addRobot(robottype, name);
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean zustandRoboter (int id) {
|
public boolean zustandRoboter(int id) {
|
||||||
return robotFactory.roboterZustand(id);
|
return robotFactory.roboterZustand(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean schalterBetätigen(int id) {
|
public boolean schalterBetätigen(int id) {
|
||||||
return robotFactory.schalterAnAus(id);
|
return robotFactory.schalterAnAus(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String sprechenAufruf(int id, int[] zahlen) throws RobotException {
|
public String sprechenAufruf(int id, int[] zahlen) throws RobotException {
|
||||||
String ausgabe = robotFactory.aufrufSpeakAndThink(id, zahlen);
|
String ausgabe = robotFactory.aufrufSpeakAndThink(id, zahlen);
|
||||||
return ausgabe;
|
return ausgabe;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RobotException fehlerAuslesen(int id) {
|
public RobotException fehlerAuslesen(int id) {
|
||||||
|
|
||||||
return robotFactory.letzterFehler(id);
|
return robotFactory.letzterFehler(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String roboterDaten (int id) {
|
public String roboterDaten(int id) {
|
||||||
return robotFactory.datenDesRoboters(id);
|
return robotFactory.datenDesRoboters(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,64 +4,66 @@ 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 tpe.exceptions.roboter.exceptions.RobotException;
|
import tpe.exceptions.roboter.exceptions.RobotException;
|
||||||
import tpe.exceptions.roboter.exceptions.RobotIllegalStateException;
|
|
||||||
|
|
||||||
class SystemTest {
|
class SystemTest {
|
||||||
|
|
||||||
private static Factorysystem fs;
|
private static Factorysystem fs;
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void initFactorysystem() {
|
static void initFactorysystem() {
|
||||||
fs = new Factorysystem("Test");
|
fs = new Factorysystem("Test");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void smokeTest() {
|
void smokeTest() {
|
||||||
assertNotNull(fs);
|
assertNotNull(fs);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void roboterAnlegenTest() {
|
void roboterAnlegenTest() {
|
||||||
int id = fs.roboterAnlegen("Test", 1);
|
int id = fs.roboterAnlegen("Test", 1);
|
||||||
int id2 = fs.roboterAnlegen("Test2", 2);
|
int id2 = fs.roboterAnlegen("Test2", 2);
|
||||||
assertEquals("RoboterType: " + "R2D2" + "; Name: " +"Test" + "; Seriennummer: " + id,fs.roboterDaten(id));
|
assertEquals("RoboterType: " + "R2D2" + "; Name: " + "Test" + "; Seriennummer: " + id, fs.roboterDaten(id));
|
||||||
assertEquals("RoboterType: " + "C3PO" + "; Name: " +"Test2" + "; Seriennummer: " + id2,fs.roboterDaten(id2));
|
assertEquals("RoboterType: " + "C3PO" + "; Name: " + "Test2" + "; Seriennummer: " + id2, fs.roboterDaten(id2));
|
||||||
assertEquals("RoboterType: " + "NEXUS6" + "; Name: " +"Pris" + "; Seriennummer: " + 19281982,fs.roboterDaten(19281982));
|
assertEquals("RoboterType: " + "NEXUS6" + "; Name: " + "Pris" + "; Seriennummer: " + 19281982,
|
||||||
|
fs.roboterDaten(19281982));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void zustandTest() {
|
void zustandTest() {
|
||||||
int id = fs.roboterAnlegen("Test", 1);
|
int id = fs.roboterAnlegen("Test", 1);
|
||||||
assertFalse(fs.zustandRoboter(id));
|
assertFalse(fs.zustandRoboter(id));
|
||||||
fs.schalterBetätigen(id);
|
fs.schalterBetätigen(id);
|
||||||
assertTrue(fs.zustandRoboter(id));
|
assertTrue(fs.zustandRoboter(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void fehlerAuslesenTest() {
|
void fehlerAuslesenTest() {
|
||||||
int id = fs.roboterAnlegen("Test", 1);
|
int id = fs.roboterAnlegen("Test", 1);
|
||||||
assertNull(fs.fehlerAuslesen(id));
|
assertNull(fs.fehlerAuslesen(id));
|
||||||
int [] zahlen = {5,4,6,2,1};
|
int[] zahlen = { 5, 4, 6, 2, 1 };
|
||||||
try {
|
try {
|
||||||
fs.sprechenAufruf(id, zahlen);
|
fs.sprechenAufruf(id, zahlen);
|
||||||
} catch (RobotException e) {
|
} catch (RobotException e) {
|
||||||
}
|
}
|
||||||
assertNotNull(fs.fehlerAuslesen(id));
|
assertNotNull(fs.fehlerAuslesen(id));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void sprechenTest() throws RobotException {
|
void sprechenTest() throws RobotException {
|
||||||
int id = fs.roboterAnlegen("Test", 1);
|
int id = fs.roboterAnlegen("Test", 1);
|
||||||
int id2 = fs.roboterAnlegen("Test2", 2);
|
int id2 = fs.roboterAnlegen("Test2", 2);
|
||||||
|
|
||||||
fs.schalterBetätigen(id);
|
fs.schalterBetätigen(id);
|
||||||
fs.schalterBetätigen(id2);
|
fs.schalterBetätigen(id2);
|
||||||
int [] zahlen = {5,9,1,6};
|
int[] zahlen = { 5, 9, 1, 6 };
|
||||||
|
|
||||||
assertEquals("1, 5, 6, 9, ", fs.sprechenAufruf(id, zahlen));
|
assertEquals("1, 5, 6, 9, ", fs.sprechenAufruf(id, zahlen));
|
||||||
assertEquals("9; 6; 5; 1; ", fs.sprechenAufruf(id2, zahlen));
|
assertEquals("9; 6; 5; 1; ", fs.sprechenAufruf(id2, zahlen));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ public class RobotException extends Exception {
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
public RobotException (String message) {
|
public RobotException(String message) {
|
||||||
super(message);
|
super(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,12 +7,12 @@ public class RobotMagicValueException extends RobotException {
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
String name;
|
String name;
|
||||||
|
|
||||||
public RobotMagicValueException (String message, String name) {
|
public RobotMagicValueException(String message, String name) {
|
||||||
super(message);
|
super(message);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRobotName() {
|
public String getRobotName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue