From 60f53eef862c12c67795519e83aa02fb2bc15297 Mon Sep 17 00:00:00 2001 From: Kai Sellmann Date: Wed, 18 Oct 2023 16:00:16 +0200 Subject: [PATCH] Aktualisierungen siehe Kommentar im PullRequest --- Domain/Enums/Kartenfarbe.java | 5 +++++ Domain/Karten/Magierkarte.java | 5 ++++- Domain/Karten/Narrenkarte.java | 17 ++++++++++------- Domain/Karten/Zahlenkarte.java | 19 +++++++++++-------- Domain/Spieler.java | 21 +++++++++++++++++---- Test/Domain/Karten/MagierkarteTest.java | 10 ++++++++++ Test/Domain/Karten/NarrenkarteTest.java | 8 ++++---- Test/Domain/Karten/ZahlenkarteTest.java | 16 ++++++++-------- Test/Domain/SpielerTest.java | 12 ++++++++++++ 9 files changed, 81 insertions(+), 32 deletions(-) diff --git a/Domain/Enums/Kartenfarbe.java b/Domain/Enums/Kartenfarbe.java index 5a9f882..d3a0994 100644 --- a/Domain/Enums/Kartenfarbe.java +++ b/Domain/Enums/Kartenfarbe.java @@ -19,5 +19,10 @@ public enum Kartenfarbe { public String getFarbe() { return farbe; } + + @Override + public String toString() { + return getFarbe(); + } } diff --git a/Domain/Karten/Magierkarte.java b/Domain/Karten/Magierkarte.java index 6449f73..518ab8e 100644 --- a/Domain/Karten/Magierkarte.java +++ b/Domain/Karten/Magierkarte.java @@ -52,7 +52,10 @@ public class Magierkarte extends Karte { } // @Overrides - + @Override + public String toString() { + return this.getBezeichnung() + ": " + this.getKartenfarbe().name() + " (" + this.getKartenfarbe().toString() +")."; + } // Public Methoden // Private Methoden diff --git a/Domain/Karten/Narrenkarte.java b/Domain/Karten/Narrenkarte.java index c6e816f..311f944 100644 --- a/Domain/Karten/Narrenkarte.java +++ b/Domain/Karten/Narrenkarte.java @@ -15,7 +15,7 @@ public class Narrenkarte extends Karte { // Statische Attribute // Attribute des Objekts - private Kartenfarbe farbe; + private Kartenfarbe kartenfarbe; private String bezeichnung; // Konstruktoren @@ -25,7 +25,7 @@ public class Narrenkarte extends Karte { public Narrenkarte(Kartenfarbe farbe, String bezeichnung) { super(); - setFarbe(farbe); + setKartenfarbe(farbe); setBezeichnung(bezeichnung); } @@ -33,12 +33,12 @@ public class Narrenkarte extends Karte { // Getter und Setter - public void setFarbe(Kartenfarbe farbe) { - this.farbe = farbe; + public void setKartenfarbe(Kartenfarbe farbe) { + this.kartenfarbe = farbe; } - public Kartenfarbe getFarbe() { - return this.farbe; + public Kartenfarbe getKartenfarbe() { + return this.kartenfarbe; } public void setBezeichnung(String bezeichnung) { @@ -50,7 +50,10 @@ public class Narrenkarte extends Karte { } // @Overrides - + @Override + public String toString() { + return this.getBezeichnung() + ": " + this.getKartenfarbe().name() + " (" + this.getKartenfarbe().toString() + ")."; + } // Public Methoden // Private Methoden diff --git a/Domain/Karten/Zahlenkarte.java b/Domain/Karten/Zahlenkarte.java index bed702c..621bb27 100644 --- a/Domain/Karten/Zahlenkarte.java +++ b/Domain/Karten/Zahlenkarte.java @@ -21,7 +21,7 @@ public class Zahlenkarte extends Karte { /*------------------------------------------*/ // Attribute jedes Objektes /*------------------------------------------*/ - private Kartenfarbe farbe; + private Kartenfarbe kartenfarbe; private int kartenNummer; /*------------------------------------------*/ @@ -31,9 +31,9 @@ public class Zahlenkarte extends Karte { super(); } - public Zahlenkarte(Kartenfarbe farbe, int kartenNummer) { + public Zahlenkarte(Kartenfarbe kartenfarbe, int kartenNummer) { super(); - setFarbe(farbe); + setKartenfarbe(kartenfarbe); setKartenNummer(kartenNummer); } @@ -44,12 +44,12 @@ public class Zahlenkarte extends Karte { /*------------------------------------------*/ // Getter und Setter /*------------------------------------------*/ - public void setFarbe(Kartenfarbe farbe) { - this.farbe = farbe; + public void setKartenfarbe(Kartenfarbe kartenfarbe) { + this.kartenfarbe = kartenfarbe; } - public Kartenfarbe getFarbe() { - return farbe; + public Kartenfarbe getKartenfarbe() { + return kartenfarbe; } public void setKartenNummer(int kartenNummer) { @@ -63,7 +63,10 @@ public class Zahlenkarte extends Karte { /*------------------------------------------*/ // @Overrides /*------------------------------------------*/ - + @Override + public String toString() { + return "Charakterkarte: " + this.getKartenfarbe().name() + " (" + this.getKartenfarbe() + ")."; + } /*------------------------------------------*/ // öffentliche Methodes /*------------------------------------------*/ diff --git a/Domain/Spieler.java b/Domain/Spieler.java index e01e2d7..918ec0c 100644 --- a/Domain/Spieler.java +++ b/Domain/Spieler.java @@ -23,7 +23,7 @@ public class Spieler implements Serializable { /*------------------------------------------*/ // Attribute jedes Objektes /*------------------------------------------*/ - private int id; + private int id = 0; private String name; private int vorhersage; private Geschlecht geschlecht; @@ -48,9 +48,22 @@ public class Spieler implements Serializable { */ public Spieler(int id, String name, Geschlecht geschlecht) { this(); - setId(id); - setName(name); - setGeschlecht(geschlecht); + if (id < 6) { + setId(id); + } + else { + throw new RuntimeException("Es darf nur max 6 Spieler geben."); + } + if (geschlecht == Geschlecht.KI) { + setName(name); // Bei KI wird kein Name gesetzt. name = leerer String + } + else if (name.length() > 2) { + setName(name); // Es wird geprüft, ob Name größer 2 Zeichen + } + else { + throw new RuntimeException("Der Name muss länger als 2 Buchstaben sein."); + } + setGeschlecht(geschlecht); } /** diff --git a/Test/Domain/Karten/MagierkarteTest.java b/Test/Domain/Karten/MagierkarteTest.java index bc2fe15..f8b9283 100644 --- a/Test/Domain/Karten/MagierkarteTest.java +++ b/Test/Domain/Karten/MagierkarteTest.java @@ -21,6 +21,14 @@ import org.junit.Test; import Domain.Enums.Kartenfarbe; import Domain.Karten.Magierkarte; +/** + * + * @author sellm + * @version + * + * + */ + public class MagierkarteTest { @Test @@ -43,6 +51,8 @@ public class MagierkarteTest { assertEquals("Zauberer", m4.getBezeichnung()); assertEquals("ROT", Kartenfarbe.ZWERG.getFarbe()); + assertEquals("Zauberer: MENSCH (BLAU).", m1.toString()); + } } diff --git a/Test/Domain/Karten/NarrenkarteTest.java b/Test/Domain/Karten/NarrenkarteTest.java index 3fd07e8..12f132c 100644 --- a/Test/Domain/Karten/NarrenkarteTest.java +++ b/Test/Domain/Karten/NarrenkarteTest.java @@ -23,10 +23,10 @@ public class NarrenkarteTest { 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.getKartenfarbe(), Kartenfarbe.MENSCH); + assertEquals(n2.getKartenfarbe(), Kartenfarbe.ELF); + assertEquals(n3.getKartenfarbe(), Kartenfarbe.RIESE); + assertEquals(n4.getKartenfarbe(), Kartenfarbe.ZWERG); assertEquals(n1.getBezeichnung(), "Narr"); assertEquals(n2.getBezeichnung(), "Narr"); diff --git a/Test/Domain/Karten/ZahlenkarteTest.java b/Test/Domain/Karten/ZahlenkarteTest.java index 581af44..e8bd95a 100644 --- a/Test/Domain/Karten/ZahlenkarteTest.java +++ b/Test/Domain/Karten/ZahlenkarteTest.java @@ -37,10 +37,10 @@ public class ZahlenkarteTest { zm.put (i, zahlenkarte); } - assertEquals(zm.get(7).getFarbe(), Kartenfarbe.MENSCH); + assertEquals(zm.get(7).getKartenfarbe(), Kartenfarbe.MENSCH); assertEquals(zm.get(7).getKartenNummer(), 7); - assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH); + assertEquals(zm.get(4).getKartenfarbe(), Kartenfarbe.MENSCH); assertEquals(zm.get(4).getKartenNummer(), 4); } @Test @@ -52,10 +52,10 @@ public class ZahlenkarteTest { ze.put (i, zahlenkarte); } - assertEquals(ze.get(7).getFarbe(), Kartenfarbe.ELF); + assertEquals(ze.get(7).getKartenfarbe(), Kartenfarbe.ELF); assertEquals(ze.get(7).getKartenNummer(), 7); - assertEquals(ze.get(4).getFarbe(), Kartenfarbe.ELF); + assertEquals(ze.get(4).getKartenfarbe(), Kartenfarbe.ELF); assertEquals(ze.get(4).getKartenNummer(), 4); } @Test @@ -67,10 +67,10 @@ public class ZahlenkarteTest { zz.put(i, zahlenkarte); } - assertEquals(zz.get(7).getFarbe(), Kartenfarbe.ZWERG); + assertEquals(zz.get(7).getKartenfarbe(), Kartenfarbe.ZWERG); assertEquals(zz.get(7).getKartenNummer(), 7); - assertEquals(zz.get(4).getFarbe(), Kartenfarbe.ZWERG); + assertEquals(zz.get(4).getKartenfarbe(), Kartenfarbe.ZWERG); assertEquals(zz.get(4).getKartenNummer(), 4); } @@ -83,10 +83,10 @@ public class ZahlenkarteTest { zr.put(i, zahlenkarte); } - assertEquals(zr.get(9).getFarbe(), Kartenfarbe.RIESE); + assertEquals(zr.get(9).getKartenfarbe(), Kartenfarbe.RIESE); assertEquals(zr.get(9).getKartenNummer(), 9); - assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE); + assertEquals(zr.get(2).getKartenfarbe(), Kartenfarbe.RIESE); assertEquals(zr.get(2).getKartenNummer(), 2); } } diff --git a/Test/Domain/SpielerTest.java b/Test/Domain/SpielerTest.java index d346317..ee93bde 100644 --- a/Test/Domain/SpielerTest.java +++ b/Test/Domain/SpielerTest.java @@ -12,18 +12,25 @@ import Domain.Spieler; import Domain.Enums.Geschlecht; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; public class SpielerTest { Spieler spieler = new Spieler(0, "Herbert", Geschlecht.M, 0); Spieler spieler2 = new Spieler(1, "Heinz", Geschlecht.M, 0); Spieler spieler3 = new Spieler(2, "Ulrike", Geschlecht.W, 0); + Spieler spieler4 = new Spieler(3, "HerrFrau", Geschlecht.D, 0); + Spieler spieler5 = new Spieler(4, "", Geschlecht.KI, 0); + Spieler spieler6 = new Spieler(5, "", Geschlecht.KI, 0); @Test public void idTest() { assertEquals(0, spieler.getId()); assertEquals(1, spieler2.getId()); assertEquals(2, spieler3.getId()); + assertEquals(3, spieler4.getId()); + assertEquals(4, spieler5.getId()); + assertEquals(5, spieler6.getId()); } @Test @@ -42,6 +49,11 @@ public class SpielerTest { assertEquals("Herbert", spieler.getName()); spieler.setName("Heinz"); assertEquals("Heinz", spieler.getName()); + assertEquals("", spieler5.getName()); //Kein Name notwendig, da KI. } + @Test + public void exceptionsTest() { + assertThrows(RuntimeException.class, () -> new Spieler(6, "", Geschlecht.KI, 0)); + } }