2023-01-09 15:21:43 +01:00
|
|
|
package tpe.facade;
|
|
|
|
|
2023-01-09 17:36:33 +01:00
|
|
|
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;
|
|
|
|
|
2023-01-09 15:21:43 +01:00
|
|
|
public class FactorySystemTest {
|
|
|
|
|
2023-01-09 17:36:33 +01:00
|
|
|
FactorySystem fs = new FactorySystem ("Testfabrik");
|
|
|
|
int testid = fs.constructRobot(2, "Testname");
|
|
|
|
int testid2 = fs.constructRobot(1, "Testname");
|
|
|
|
int[] testZahlen1= {1,4,3,42,78,20};
|
|
|
|
int[] testZahlen2= {1,4,3,41,78,20};
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void powerStatusTest() {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 1. Roboter wird gebaut, er ist ausgeschaltet
|
|
|
|
* 2. Roboter wird angeschaltet
|
|
|
|
* 3. Roboter wird ausgeschaltet
|
|
|
|
*/
|
|
|
|
assertFalse(fs.powerStatus(testid));
|
|
|
|
assertTrue(fs.triggerPower(testid));
|
|
|
|
assertFalse(fs.triggerPower(testid));
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 1. Da Nexus6 bereits erstellt wurde, wird beim erstellen zwei neuer Roboter der Stock auf 3 sein
|
|
|
|
* 2. Nexus6 ist ausgeschaltet
|
|
|
|
* 3. Er kann auch nicht angeschaltet werden
|
|
|
|
*/
|
|
|
|
|
|
|
|
assertEquals(fs.robotStockSize(),3);
|
|
|
|
assertFalse(fs.powerStatus(19281982));
|
|
|
|
assertFalse(fs.triggerPower(19281982));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void robotInstructions() throws RobotException {
|
|
|
|
RobotIllegalStateException thrownState = Assertions.assertThrows(RobotIllegalStateException.class,() -> fs.robotInstructions(testid,testZahlen2));
|
|
|
|
assertEquals(thrownState.getMessage(),"Robotname-Testname: Der Roboter ist ausgeschaltet!");
|
|
|
|
|
|
|
|
fs.triggerPower(testid);
|
|
|
|
RobotMagicValueException thrownValue=Assertions.assertThrows(RobotMagicValueException.class,() -> fs.robotInstructions(testid,testZahlen1));
|
|
|
|
assertEquals(thrownValue.getMessage(),"Robotname-Testname: Zahl 42 kann nicht verarbeitet werden!");
|
|
|
|
|
|
|
|
fs.triggerPower(testid2);
|
|
|
|
assertEquals(fs.robotInstructions(testid, testZahlen2), "78; 41; 20; 4; 3; 1");
|
|
|
|
assertEquals(fs.robotInstructions(testid2, testZahlen2), "1, 3, 4, 20, 41, 78");
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
void robotBlackBox() {
|
|
|
|
fs.triggerPower(testid);
|
|
|
|
RobotMagicValueException thrownValue=Assertions.assertThrows(RobotMagicValueException.class,() -> fs.robotInstructions(testid,testZahlen1));
|
|
|
|
assertEquals(thrownValue.getMessage(),fs.robotBlackbox(testid));
|
|
|
|
|
|
|
|
// RobotIllegalStateException thrownState = Assertions.assertThrows(RobotIllegalStateException.class,() -> fs.robotInstructions(testid,testZahlen2));
|
|
|
|
// assertEquals(thrownState.getMessage(),fs.robotBlackbox(testid));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2023-01-09 15:21:43 +01:00
|
|
|
}
|