From 12e1932f459e4ebe4ad8f368eab1c1f302c7f488 Mon Sep 17 00:00:00 2001
From: 2120940 <2120940@stud.hs-mannheim.de>
Date: Mon, 9 Jan 2023 15:21:43 +0100
Subject: [PATCH] =?UTF-8?q?Erste=20Junit=20Tests=20f=C3=BCr=20Robots=20dis?=
=?UTF-8?q?mantleRobot=20entfernt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.classpath | 1 +
Roboter/tpe/exceptions/roboter/Nexus6.java | 4 +-
.../tpe/exceptions/roboter/RobotFactory.java | 8 ---
Roboter/tpe/exceptions/roboter/Robots.java | 5 ++
.../tpe/exceptions/roboter/RobotsTest.java | 61 +++++++++++++++++++
Roboter/tpe/facade/FactorySystem.java | 6 --
Roboter/tpe/facade/FactorySystemTest.java | 5 ++
7 files changed, 74 insertions(+), 16 deletions(-)
create mode 100644 Roboter/tpe/exceptions/roboter/RobotsTest.java
create mode 100644 Roboter/tpe/facade/FactorySystemTest.java
diff --git a/.classpath b/.classpath
index 33515c0..dfd62bc 100644
--- a/.classpath
+++ b/.classpath
@@ -3,5 +3,6 @@
+
diff --git a/Roboter/tpe/exceptions/roboter/Nexus6.java b/Roboter/tpe/exceptions/roboter/Nexus6.java
index 8252adb..73e3a5c 100644
--- a/Roboter/tpe/exceptions/roboter/Nexus6.java
+++ b/Roboter/tpe/exceptions/roboter/Nexus6.java
@@ -21,13 +21,13 @@ public class Nexus6 extends Robots {
}
@Override
public String speak(int[] zahlen) throws RobotException {
- throw new RobotIllegalStateException("Der Nexus6-Roboter: Pris ist ausgeschaltet!", this.getName());
+ throw new RobotIllegalStateException("Der Nexus6-Roboter ist ausgeschaltet!", this.getName());
}
@Override
public int[] think(int[] zahlen) throws RobotException {
- throw new RobotIllegalStateException("Der Nexus6-Roboter: Pris ist ausgeschaltet!", this.getName());
+ throw new RobotIllegalStateException("Der Nexus6-Roboter ist ausgeschaltet!", this.getName());
}
diff --git a/Roboter/tpe/exceptions/roboter/RobotFactory.java b/Roboter/tpe/exceptions/roboter/RobotFactory.java
index 678805a..0c6809c 100644
--- a/Roboter/tpe/exceptions/roboter/RobotFactory.java
+++ b/Roboter/tpe/exceptions/roboter/RobotFactory.java
@@ -102,14 +102,6 @@ public class RobotFactory {
Robots robot=getRobot(id);
return robot.toString();
}
- /**
- * Ermöglicht Roboter zur jeweiligen ID aus der HashMap zu löschen => Roboter Instanz löschen
- * @param id
- * @return Bei null wurde kein Roboter zur ID gefunden falls Roboter zurückgegeben wird ist dieser gelöscht
- */
- public Robots dismantleRobot(int id) {
- return robotStock.remove(id);
- }
/**
* Sucht den Roboter zur ID aus der HashMap und ermittelt über {@link Robots} Funktion die {@link RobotException}
* @param id
diff --git a/Roboter/tpe/exceptions/roboter/Robots.java b/Roboter/tpe/exceptions/roboter/Robots.java
index 61b1dbd..6d93507 100644
--- a/Roboter/tpe/exceptions/roboter/Robots.java
+++ b/Roboter/tpe/exceptions/roboter/Robots.java
@@ -52,6 +52,11 @@ public abstract class Robots implements Robot{
}
return error;
}
+ /**
+ * Unterscheidung der Ausgabe durch die Art der Sortierung:
+ * R2D2: sortiert aufsteigend Wert an der Stelle 0 des Arrays ist kleiner als an der letzten Stelle
+ * C3PO: sortiert absteigend Wert an der Stelle 0 des Arrays ist größer als an der letzten Stelle
+ */
public String speak(int[] zahlen) throws RobotException {
if(powerStatus==false)
diff --git a/Roboter/tpe/exceptions/roboter/RobotsTest.java b/Roboter/tpe/exceptions/roboter/RobotsTest.java
new file mode 100644
index 0000000..8fe6a4e
--- /dev/null
+++ b/Roboter/tpe/exceptions/roboter/RobotsTest.java
@@ -0,0 +1,61 @@
+package tpe.exceptions.roboter;
+
+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 RobotsTest {
+ RobotException robotException;
+ Robots robots;
+ Robots R2rob= new R2D2("Testname1", 1);
+ Robots C3rob=new C3PO("Testname2",10000);
+ Robots Nerob=Nexus6.getInstance();
+ int[] testZahlen1= {1,4,3,42,78,20};
+ int[] testZahlen2= {1,4,3,41,78,20};
+
+ @Test
+ void basicRobotsTest() throws RobotException
+ {
+ assertEquals(R2rob.getName(),"Testname1");
+ assertEquals(R2rob.getId(),1);
+ assertFalse(R2rob.powerStatus);
+ R2rob.triggerPowerSwitch();
+ assertTrue(R2rob.powerStatus);
+
+ assertEquals(C3rob.getName(),"Testname2");
+ assertEquals(C3rob.getId(),10000);
+ assertFalse(C3rob.powerStatus);
+ C3rob.triggerPowerSwitch();
+ assertTrue(C3rob.powerStatus);
+
+ assertEquals(Nerob.getName(),"Pris");
+ assertEquals(Nerob.getId(),19281982);
+ assertFalse(Nerob.powerStatus);
+ }
+
+ @Test
+ void speakAndThinkTest() throws RobotException{
+ RobotIllegalStateException thrownState=Assertions.assertThrows(RobotIllegalStateException.class,() -> R2rob.speak(testZahlen2));
+ assertEquals(thrownState.getMessage(),"Robotname-Testname1: Der Roboter ist ausgeschaltet!");
+ R2rob.triggerPowerSwitch();
+ assertEquals("1, 3, 4, 20, 41, 78", R2rob.speak(R2rob.think(testZahlen2)));
+ RobotMagicValueException thrownValue=Assertions.assertThrows(RobotMagicValueException.class,() -> R2rob.speak(testZahlen1));
+ assertEquals(thrownValue.getMessage(),"Robotname-Testname1: Zahl 42 kann nicht verarbeitet werden!");
+
+ RobotIllegalStateException thrownState2=Assertions.assertThrows(RobotIllegalStateException.class,() -> C3rob.speak(testZahlen2));
+ assertEquals(thrownState2.getMessage(),"Robotname-Testname2: Der Roboter ist ausgeschaltet!");
+ C3rob.triggerPowerSwitch();
+ assertEquals("78; 41; 20; 4; 3; 1", C3rob.speak(C3rob.think(testZahlen2)));
+ RobotMagicValueException thrownValue2=Assertions.assertThrows(RobotMagicValueException.class,() -> C3rob.speak(testZahlen1));
+ assertEquals(thrownValue2.getMessage(),"Robotname-Testname2: Zahl 42 kann nicht verarbeitet werden!");
+
+ RobotIllegalStateException thrownState3=Assertions.assertThrows(RobotIllegalStateException.class,() -> Nerob.speak(testZahlen2));
+ assertEquals(thrownState3.getMessage(),"Robotname-Pris: Der Nexus6-Roboter ist ausgeschaltet!");
+ }
+
+}
diff --git a/Roboter/tpe/facade/FactorySystem.java b/Roboter/tpe/facade/FactorySystem.java
index 54447be..bbb7ed1 100644
--- a/Roboter/tpe/facade/FactorySystem.java
+++ b/Roboter/tpe/facade/FactorySystem.java
@@ -36,12 +36,6 @@ public class FactorySystem {
return rf.robotInfo(id);
}
- public String dismantleRobot(int id) {
- if (rf.dismantleRobot(id) == null) {
- return "Roboter erfolgreich demontiert";
- } else
- return "Fehler beim Demontieren des Roboters";
- }
public RobotException robotBlackbox(int id) {
return rf.robotBlackbox(id); // Bei Rückgabe von null gab es noch keinen Fehler
diff --git a/Roboter/tpe/facade/FactorySystemTest.java b/Roboter/tpe/facade/FactorySystemTest.java
new file mode 100644
index 0000000..b9c9825
--- /dev/null
+++ b/Roboter/tpe/facade/FactorySystemTest.java
@@ -0,0 +1,5 @@
+package tpe.facade;
+
+public class FactorySystemTest {
+
+}