From 93d494e528c855819dcee492dacc3fb13b1145ff Mon Sep 17 00:00:00 2001
From: "Jan.Emmerich" <3026842@stud.hs-mannheim.de>
Date: Thu, 18 Jun 2026 19:31:05 +0200
Subject: [PATCH] Weiter Aufgabenbearbeitung
---
erledigt.txt | 5 +-
.../pr2/exceptions/eigene_ausnahme/Fuse.java | 10 +-
.../eigene_ausnahme/FuseTrippedException.java | 14 +-
.../IllegalCurrentException.java | 22 +-
.../eigene_ausnahme/test/FuseTest.java | 286 +++++++++---------
sources/target/checkstyle-cachefile | 2 +-
sources/target/checkstyle-result.xml | 7 +-
7 files changed, 195 insertions(+), 151 deletions(-)
diff --git a/erledigt.txt b/erledigt.txt
index 4aaa17a..50d426b 100644
--- a/erledigt.txt
+++ b/erledigt.txt
@@ -1,5 +1,6 @@
-- Abstrakte Klassen 1
-- Abstrakte Klassen 2
+- Abstrakte Klassen 1 (nochmal reinschauen)
+- Abstrakte Klassen 2 (nochmal reinschauen)
- Ausnahmen 1
- Enum 1
- Enum 2
+- Ausnahme 2
diff --git a/sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java b/sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java
index 7c2180f..d36d3ba 100644
--- a/sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java
+++ b/sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java
@@ -32,8 +32,11 @@ public class Fuse {
* @throws IllegalCurrentException Ausnahme bei einem
* ungültigen Spannungswert.
*/
- public Fuse(int tripCurrent) {
+ public Fuse(int tripCurrent) throws IllegalCurrentException {
// TODO: IllegalCurrentException werfen, wenn der Strom ungültig ist
+ if (tripCurrent != A16 && tripCurrent != A25 && tripCurrent != A32) {
+ throw new IllegalCurrentException(tripCurrent);
+ }
this.tripCurrent = tripCurrent;
}
@@ -43,7 +46,10 @@ public class Fuse {
* @param current Strom, der durch die Sicherung fließt.
* @throws FuseTrippedException wird geworfen, wenn der Srom zu groß wird.
*/
- public void use(int current) {
+ public void use(int current) throws FuseTrippedException {
// TODO: FuseTrippedException werfen, wenn der Strom zu groß ist
+ if (current > tripCurrent) {
+ throw new FuseTrippedException(tripCurrent, current);
+ }
}
}
diff --git a/sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java b/sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java
index 18e6f34..a198e4f 100644
--- a/sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java
+++ b/sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java
@@ -3,7 +3,19 @@ package pr2.exceptions.eigene_ausnahme;
/**
* Ausnahme, wenn die Sicherung auslöst.
*/
-public class FuseTrippedException {
+public class FuseTrippedException extends Exception {
// TODO: zu einer Ausnahme machen
// TODO: Nennstrom und Auslösestrom speichern und in toString wieder ausgeben
+ private int nennstrom;
+ private int ausloeser;
+
+ FuseTrippedException(int nenn, int aus){
+ this.nennstrom = nenn;
+ this.ausloeser = aus;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("Der Ausloeser war %d, und der Nennstrom ist %d", ausloeser, nennstrom);
+ }
}
diff --git a/sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java b/sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java
index 932e6d8..7348723 100644
--- a/sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java
+++ b/sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java
@@ -3,7 +3,27 @@ package pr2.exceptions.eigene_ausnahme;
/**
* Ausnahme, wenn eine Sicherung angelegt werden soll, die es nicht gibt.
*/
-public class IllegalCurrentException {
+public class IllegalCurrentException extends Exception {
// TODO: zu einer Ausnahme machen
// TODO: Nennstrom speichern, mit dem die Sicherung angelegt werden sollte.
+
+ private int current;
+
+ IllegalCurrentException(String msg, int current) {
+ super(msg);
+ this.current = current;
+ }
+
+ IllegalCurrentException(int current) {
+ this.current = current;
+ }
+
+ public int getCurrent() {
+ return current;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("Der Falsche Strom betrug: %d", current);
+ }
}
diff --git a/sources/src/test/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.java b/sources/src/test/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.java
index 66dd5e0..d0b4863 100644
--- a/sources/src/test/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.java
+++ b/sources/src/test/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.java
@@ -13,147 +13,147 @@ public class FuseTest {
// TODO: Quellcode wieder einkommentieren
//
-// /**
-// * Testet die Erzeugung von Sicherungen mit gültigen Werten.
-// *
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testCreationValid() throws IllegalCurrentException {
-// new Fuse(Fuse.A16);
-// new Fuse(Fuse.A25);
-// new Fuse(Fuse.A32);
-// }
-//
-// /**
-// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
-// *
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testCreationValid1() throws IllegalCurrentException {
-// Assertions.assertThrows(IllegalCurrentException.class, () -> {
-// new Fuse(15);
-// });
-// }
-//
-// /**
-// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
-// *
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testCreationValid2() throws IllegalCurrentException {
-// Assertions.assertThrows(IllegalCurrentException.class, () -> {
-// new Fuse(-1);
-// });
-// }
-//
-// /**
-// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
-// *
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testCreationValid3() throws IllegalCurrentException {
-// Assertions.assertThrows(IllegalCurrentException.class, () -> {
-// new Fuse(0);
-// });
-// }
-//
-// /**
-// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
-// *
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testCreationValid4() throws IllegalCurrentException {
-// Assertions.assertThrows(IllegalCurrentException.class, () -> {
-// new Fuse(Integer.MAX_VALUE);
-// });
-// }
-//
-// /**
-// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
-// *
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testCreationValid5() throws IllegalCurrentException {
-// Assertions.assertThrows(IllegalCurrentException.class, () -> {
-// new Fuse(Integer.MIN_VALUE);
-// });
-// }
-//
-// /**
-// * Testet das Auslösen der Sicherung.
-// *
-// * @throws FuseTrippedException Sicherung hat ausgelöst.
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testTripping1()
-// throws FuseTrippedException, IllegalCurrentException {
-//
-// Fuse f = new Fuse(Fuse.A16);
-// f.use(5);
-// f.use(16);
-// f.use(0);
-//
-// f = new Fuse(Fuse.A25);
-// f.use(5);
-// f.use(16);
-// f.use(25);
-//
-//
-// Assertions.assertThrows(FuseTrippedException.class, () -> {
-// Fuse f2 = new Fuse(Fuse.A16);
-// f2.use(0);
-// f2.use(16);
-// f2.use(25);
-// });
-// }
-//
-// /**
-// * Testet das Auslösen der Sicherung.
-// *
-// * @throws FuseTrippedException Sicherung hat ausgelöst.
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testTripping2()
-// throws FuseTrippedException, IllegalCurrentException {
-// Assertions.assertThrows(FuseTrippedException.class, () -> {
-// new Fuse(Fuse.A16).use(17);
-// });
-// }
-//
-// /**
-// * Testet das Auslösen der Sicherung.
-// *
-// * @throws FuseTrippedException Sicherung hat ausgelöst.
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testTripping3()
-// throws FuseTrippedException, IllegalCurrentException {
-//
-// Assertions.assertThrows(FuseTrippedException.class, () -> {
-// new Fuse(Fuse.A16).use(Integer.MAX_VALUE);
-// });
-// }
-//
-// /**
-// * Testet das Auslösen der Sicherung.
-// *
-// * @throws FuseTrippedException Sicherung hat ausgelöst.
-// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
-// */
-// @Test
-// void testTripping4()
-// throws FuseTrippedException, IllegalCurrentException {
-// Assertions.assertThrows(FuseTrippedException.class, () -> {
-// new Fuse(Fuse.A32).use(40);
-// });
-// }
+ /**
+ * Testet die Erzeugung von Sicherungen mit gültigen Werten.
+ *
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testCreationValid() throws IllegalCurrentException {
+ new Fuse(Fuse.A16);
+ new Fuse(Fuse.A25);
+ new Fuse(Fuse.A32);
+ }
+
+ /**
+ * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
+ *
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testCreationValid1() throws IllegalCurrentException {
+ Assertions.assertThrows(IllegalCurrentException.class, () -> {
+ new Fuse(15);
+ });
+ }
+
+ /**
+ * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
+ *
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testCreationValid2() throws IllegalCurrentException {
+ Assertions.assertThrows(IllegalCurrentException.class, () -> {
+ new Fuse(-1);
+ });
+ }
+
+ /**
+ * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
+ *
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testCreationValid3() throws IllegalCurrentException {
+ Assertions.assertThrows(IllegalCurrentException.class, () -> {
+ new Fuse(0);
+ });
+ }
+
+ /**
+ * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
+ *
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testCreationValid4() throws IllegalCurrentException {
+ Assertions.assertThrows(IllegalCurrentException.class, () -> {
+ new Fuse(Integer.MAX_VALUE);
+ });
+ }
+
+ /**
+ * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
+ *
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testCreationValid5() throws IllegalCurrentException {
+ Assertions.assertThrows(IllegalCurrentException.class, () -> {
+ new Fuse(Integer.MIN_VALUE);
+ });
+ }
+
+ /**
+ * Testet das Auslösen der Sicherung.
+ *
+ * @throws FuseTrippedException Sicherung hat ausgelöst.
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testTripping1()
+ throws FuseTrippedException, IllegalCurrentException {
+
+ Fuse f = new Fuse(Fuse.A16);
+ f.use(5);
+ f.use(16);
+ f.use(0);
+
+ f = new Fuse(Fuse.A25);
+ f.use(5);
+ f.use(16);
+ f.use(25);
+
+
+ Assertions.assertThrows(FuseTrippedException.class, () -> {
+ Fuse f2 = new Fuse(Fuse.A16);
+ f2.use(0);
+ f2.use(16);
+ f2.use(25);
+ });
+ }
+
+ /**
+ * Testet das Auslösen der Sicherung.
+ *
+ * @throws FuseTrippedException Sicherung hat ausgelöst.
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testTripping2()
+ throws FuseTrippedException, IllegalCurrentException {
+ Assertions.assertThrows(FuseTrippedException.class, () -> {
+ new Fuse(Fuse.A16).use(17);
+ });
+ }
+
+ /**
+ * Testet das Auslösen der Sicherung.
+ *
+ * @throws FuseTrippedException Sicherung hat ausgelöst.
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testTripping3()
+ throws FuseTrippedException, IllegalCurrentException {
+
+ Assertions.assertThrows(FuseTrippedException.class, () -> {
+ new Fuse(Fuse.A16).use(Integer.MAX_VALUE);
+ });
+ }
+
+ /**
+ * Testet das Auslösen der Sicherung.
+ *
+ * @throws FuseTrippedException Sicherung hat ausgelöst.
+ * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
+ */
+ @Test
+ void testTripping4()
+ throws FuseTrippedException, IllegalCurrentException {
+ Assertions.assertThrows(FuseTrippedException.class, () -> {
+ new Fuse(Fuse.A32).use(40);
+ });
+ }
}
diff --git a/sources/target/checkstyle-cachefile b/sources/target/checkstyle-cachefile
index 46e2851..8d7b3b3 100644
--- a/sources/target/checkstyle-cachefile
+++ b/sources/target/checkstyle-cachefile
@@ -1,4 +1,4 @@
-#Thu Jun 18 19:00:14 CEST 2026
+#Thu Jun 18 19:22:21 CEST 2026
/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/schnick/Move.java=1779967432494
/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/singleton/MyEnum.java=1779967432495
/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.java=1779967432495
diff --git a/sources/target/checkstyle-result.xml b/sources/target/checkstyle-result.xml
index 66f5158..2ccb946 100644
--- a/sources/target/checkstyle-result.xml
+++ b/sources/target/checkstyle-result.xml
@@ -118,16 +118,21 @@
-
+
+
+
+
+
+