From a29adfa4ffc3a856c144c233256f3322ef8ae278 Mon Sep 17 00:00:00 2001 From: Kai Sellmann <2210892@stud.hs-mannheim.de> Date: Wed, 11 Oct 2023 18:44:58 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Testf=C3=A4lle=20f=C3=BCr=20Narrenkarte-Kla?= =?UTF-8?q?sse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Domain/Karten/Narrenkarte.java | 12 ++++---- Test/Domain/Karten/NarrenkarteTest.java | 39 +++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/Domain/Karten/Narrenkarte.java b/Domain/Karten/Narrenkarte.java index 293ebbd..a14a2d0 100644 --- a/Domain/Karten/Narrenkarte.java +++ b/Domain/Karten/Narrenkarte.java @@ -13,7 +13,7 @@ public class Narrenkarte extends Karte { // Statische Konstanten // Statische Attribute - + private static int narrenkarteanzahl = 0; // Attribute des Objekts private Kartenfarbe farbe; private String bezeichnung; @@ -25,16 +25,14 @@ public class Narrenkarte extends Karte { public Narrenkarte(Kartenfarbe farbe, String bezeichnung) { super(); + setNarrenkarteanzahl(narrenkarteanzahl); setFarbe(farbe); setBezeichnung(bezeichnung); } // Statische Methoden // Getter und Setter - public int getId() { - return Karte.getId_card(); - } - + public void setFarbe(Kartenfarbe farbe) { this.farbe = farbe; } @@ -48,6 +46,10 @@ public class Narrenkarte extends Karte { public String getBezeichnung() { return this.bezeichnung; } + + public void setNarrenkarteanzahl(int narrenkarteanzahl) { + narrenkarteanzahl++; + } // @Overrides // Public Methoden diff --git a/Test/Domain/Karten/NarrenkarteTest.java b/Test/Domain/Karten/NarrenkarteTest.java index dfc5fab..d72df93 100644 --- a/Test/Domain/Karten/NarrenkarteTest.java +++ b/Test/Domain/Karten/NarrenkarteTest.java @@ -6,6 +6,45 @@ written on: 10 / 10 / 2023 at: 21:18 */ package Test.Domain.Karten; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; + +import org.junit.Test; + +import Domain.Enums.Kartenfarbe; +import Domain.Karten.Narrenkarte; + public class NarrenkarteTest { + @Test + public void vierNarren() { + Narrenkarte n1 = new Narrenkarte(Kartenfarbe.MENSCH, "Narr"); + Narrenkarte n2 = new Narrenkarte(Kartenfarbe.ELF, "Narr"); + Narrenkarte n3 = new Narrenkarte(Kartenfarbe.RIESE, "Narr"); + Narrenkarte n4 = new Narrenkarte(Kartenfarbe.ZWERG, "Narr"); + + assertEquals(n1.getFarbe(), Kartenfarbe.MENSCH); + assertEquals(n2.getFarbe(), Kartenfarbe.ELF); + assertEquals(n3.getFarbe(), Kartenfarbe.RIESE); + assertEquals(n4.getFarbe(), Kartenfarbe.ZWERG); + + assertEquals(n1.getBezeichnung(), "Narr"); + assertEquals(n2.getBezeichnung(), "Narr"); + assertEquals(n3.getBezeichnung(), "Narr"); + assertEquals(n4.getBezeichnung(), "Narr"); + + assertEquals(Kartenfarbe.MENSCH.getFarbe(), "BLAU"); + assertEquals(Kartenfarbe.ELF.getFarbe(), "GRÜN"); + assertEquals(Kartenfarbe.RIESE.getFarbe(), "GELB"); + assertEquals(Kartenfarbe.ZWERG.getFarbe(), "ROT"); + } + + public void Narrenanzahl() { + Narrenkarte n1 = new Narrenkarte(Kartenfarbe.MENSCH, "Narr"); + Narrenkarte n2 = new Narrenkarte(Kartenfarbe.ELF, "Narr"); + Narrenkarte n3 = new Narrenkarte(Kartenfarbe.RIESE, "Narr"); + Narrenkarte n4 = new Narrenkarte(Kartenfarbe.ZWERG, "Narr"); + + assertThrows(RuntimeException.class, () -> {Narrenkarte n5 = new Narrenkarte(Kartenfarbe.MENSCH, "Narr");}); + } } -- 2.43.0 From 80103884ef82ec2ca82cedbc45fd751ee27bd66d Mon Sep 17 00:00:00 2001 From: Kai Sellmann <2210892@stud.hs-mannheim.de> Date: Wed, 11 Oct 2023 18:52:56 +0200 Subject: [PATCH 2/2] Narrenkarte-Klasse jetzt mit Exception --- Domain/Karten/Narrenkarte.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Domain/Karten/Narrenkarte.java b/Domain/Karten/Narrenkarte.java index a14a2d0..8981106 100644 --- a/Domain/Karten/Narrenkarte.java +++ b/Domain/Karten/Narrenkarte.java @@ -25,9 +25,13 @@ public class Narrenkarte extends Karte { public Narrenkarte(Kartenfarbe farbe, String bezeichnung) { super(); - setNarrenkarteanzahl(narrenkarteanzahl); - setFarbe(farbe); - setBezeichnung(bezeichnung); + if (narrenkarteanzahl < 4) { + setNarrenkarteanzahl(narrenkarteanzahl); + setFarbe(farbe); + setBezeichnung(bezeichnung); + } else { + throw new RuntimeException("Es darf nur vier Narrenkarten geben."); + } } // Statische Methoden -- 2.43.0