RoboterFabrik/Roboter/tpe/facade/FactorySystemTest.java

70 lines
2.4 KiB
Java
Raw Normal View History

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;
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));
}
}