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/3] =?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");}); + } } 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/3] 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 From 6dbe69453c8326e579cda9a0d8aff1a36e02e7df Mon Sep 17 00:00:00 2001 From: Kai Sellmann Date: Thu, 12 Oct 2023 08:20:31 +0200 Subject: [PATCH 3/3] MagierkarteTest-Klasse und Anpassung Magierkarte-Klasse --- Domain/Karten/Magierkarte.java | 34 ++++++++++++------- Test/Domain/Karten/MagierkarteTest.java | 45 +++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 12 deletions(-) diff --git a/Domain/Karten/Magierkarte.java b/Domain/Karten/Magierkarte.java index bbd551f..a435625 100644 --- a/Domain/Karten/Magierkarte.java +++ b/Domain/Karten/Magierkarte.java @@ -14,41 +14,51 @@ public class Magierkarte extends Karte { // Statische Konstanten // Statische Attribute - + private static int magierkartenanzahl = 0; // Attribute des Objekts - private Kartenfarbe farbe; + private Kartenfarbe kartenfarbe; private String bezeichnung; // Konstruktoren public Magierkarte() { super(); + setMagierkartenanzahl(magierkartenanzahl); } - public Magierkarte(Kartenfarbe farbe, String bezeichnung) { + public Magierkarte(Kartenfarbe kartenfarbe, String bezeichnung) { super(); - setFarbe(farbe); - setBezeichnung(bezeichnung); + if (magierkartenanzahl < 4) { + setMagierkartenanzahl(magierkartenanzahl); + setKartenfarbe(kartenfarbe); + setBezeichnung(bezeichnung); + } else { + throw new RuntimeException("Es darf nur vier Magier im Spiel geben."); + } } // Statische Methoden // Getter und Setter - public void setFarbe(Kartenfarbe farbe) { - this.farbe = farbe; + public void setKartenfarbe(Kartenfarbe kartenfarbe) { + this.kartenfarbe = kartenfarbe; } - public Kartenfarbe getFarbe() { - return this.farbe; - } - public int getId() { - return Karte.getId_card(); + public Kartenfarbe getKartenfarbe() { + return this.kartenfarbe; } + public void setBezeichnung(String bezeichnung) { this.bezeichnung = bezeichnung; } public String getBezeichnung () { return this.bezeichnung; } + public void setMagierkartenanzahl(int magierkartenanzahl) { + magierkartenanzahl++; + } + public int getMagierkartenanzahl() { + return magierkartenanzahl; + } // @Overrides // Public Methoden diff --git a/Test/Domain/Karten/MagierkarteTest.java b/Test/Domain/Karten/MagierkarteTest.java index 53003d6..2a81c52 100644 --- a/Test/Domain/Karten/MagierkarteTest.java +++ b/Test/Domain/Karten/MagierkarteTest.java @@ -6,6 +6,51 @@ written on: 10 / 10 / 2023 at: 21:18 */ package Test.Domain.Karten; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThrows; + +import java.util.ArrayList; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import Domain.Enums.Kartenfarbe; +import Domain.Karten.Magierkarte; + public class MagierkarteTest { + @Test + public void vierMagier() { + Magierkarte m1 = new Magierkarte(Kartenfarbe.MENSCH, "Zauberer"); + Magierkarte m2 = new Magierkarte(Kartenfarbe.ELF, "Zauberer"); + Magierkarte m3 = new Magierkarte(Kartenfarbe.RIESE, "Zauberer"); + Magierkarte m4 = new Magierkarte(Kartenfarbe.ZWERG, "Zauberer"); + + assertEquals(Kartenfarbe.MENSCH, m1.getKartenfarbe()); + assertEquals("Zauberer", m1.getBezeichnung()); + assertEquals("BLAU", Kartenfarbe.MENSCH.getFarbe()); + assertEquals(Kartenfarbe.ELF, m2.getKartenfarbe()); + assertEquals("Zauberer", m2.getBezeichnung()); + assertEquals("GRÜN", Kartenfarbe.ELF.getFarbe()); + assertEquals(Kartenfarbe.RIESE, m3.getKartenfarbe()); + assertEquals("Zauberer", m3.getBezeichnung()); + assertEquals("GELB", Kartenfarbe.RIESE.getFarbe()); + assertEquals(Kartenfarbe.ZWERG, m4.getKartenfarbe()); + assertEquals("Zauberer", m4.getBezeichnung()); + assertEquals("ROT", Kartenfarbe.ZWERG.getFarbe()); + + } + + public void magierAnzahl() { + Magierkarte m1 = new Magierkarte(Kartenfarbe.MENSCH, "Zauberer"); + Magierkarte m2 = new Magierkarte(Kartenfarbe.ELF, "Zauberer"); + Magierkarte m3 = new Magierkarte(Kartenfarbe.RIESE, "Zauberer"); + Magierkarte m4 = new Magierkarte(Kartenfarbe.ZWERG, "Zauberer"); + + assertThrows(RuntimeException.class, () -> { Magierkarte m5 = new Magierkarte(Kartenfarbe.MENSCH, "Zauberer");}); + } }