diff --git a/Domain/Karten/Magierkarte.java b/Domain/Karten/Magierkarte.java index a435625..6449f73 100644 --- a/Domain/Karten/Magierkarte.java +++ b/Domain/Karten/Magierkarte.java @@ -10,59 +10,51 @@ import Domain.Enums.Kartenfarbe; public class Magierkarte extends Karte { - // Statische Konstanten - + // Statische Attribute - private static int magierkartenanzahl = 0; + // Attribute des Objekts private Kartenfarbe kartenfarbe; private String bezeichnung; // Konstruktoren - + public Magierkarte() { super(); - setMagierkartenanzahl(magierkartenanzahl); + } - + public Magierkarte(Kartenfarbe kartenfarbe, String bezeichnung) { super(); - if (magierkartenanzahl < 4) { - setMagierkartenanzahl(magierkartenanzahl); - setKartenfarbe(kartenfarbe); - setBezeichnung(bezeichnung); - } else { - throw new RuntimeException("Es darf nur vier Magier im Spiel geben."); - } + setKartenfarbe(kartenfarbe); + setBezeichnung(bezeichnung); + } - + // Statische Methoden - + // Getter und Setter - + public void setKartenfarbe(Kartenfarbe kartenfarbe) { this.kartenfarbe = kartenfarbe; } + public Kartenfarbe getKartenfarbe() { return this.kartenfarbe; } - + public void setBezeichnung(String bezeichnung) { this.bezeichnung = bezeichnung; } - public String getBezeichnung () { + + public String getBezeichnung() { return this.bezeichnung; } - public void setMagierkartenanzahl(int magierkartenanzahl) { - magierkartenanzahl++; - } - public int getMagierkartenanzahl() { - return magierkartenanzahl; - } + // @Overrides - + // Public Methoden - + // Private Methoden - + } diff --git a/Domain/Karten/Narrenkarte.java b/Domain/Karten/Narrenkarte.java index 8981106..c6e816f 100644 --- a/Domain/Karten/Narrenkarte.java +++ b/Domain/Karten/Narrenkarte.java @@ -11,53 +11,48 @@ import Domain.Enums.Kartenfarbe; public class Narrenkarte extends Karte { // Statische Konstanten - + // Statische Attribute - private static int narrenkarteanzahl = 0; + // Attribute des Objekts private Kartenfarbe farbe; private String bezeichnung; // Konstruktoren - + public Narrenkarte() { super(); } - + public Narrenkarte(Kartenfarbe farbe, String bezeichnung) { super(); - if (narrenkarteanzahl < 4) { - setNarrenkarteanzahl(narrenkarteanzahl); - setFarbe(farbe); - setBezeichnung(bezeichnung); - } else { - throw new RuntimeException("Es darf nur vier Narrenkarten geben."); - } + setFarbe(farbe); + setBezeichnung(bezeichnung); + } // Statische Methoden - + // Getter und Setter - + public void setFarbe(Kartenfarbe farbe) { this.farbe = farbe; } + public Kartenfarbe getFarbe() { return this.farbe; } - + public void setBezeichnung(String bezeichnung) { this.bezeichnung = bezeichnung; } + public String getBezeichnung() { return this.bezeichnung; } - - public void setNarrenkarteanzahl(int narrenkarteanzahl) { - narrenkarteanzahl++; - } + // @Overrides - + // Public Methoden - + // Private Methoden - + } diff --git a/Domain/Karten/Zahlenkarte.java b/Domain/Karten/Zahlenkarte.java index 9f52db5..bed702c 100644 --- a/Domain/Karten/Zahlenkarte.java +++ b/Domain/Karten/Zahlenkarte.java @@ -6,42 +6,70 @@ written on: 05 / 10 / 2023 at: 23:30 */ package Domain.Karten; +import Domain.Enums.Kartenfarbe; + public class Zahlenkarte extends Karte { - /*------------------------------------------*/ - // statische Konstanten - /*------------------------------------------*/ + /*------------------------------------------*/ + // statische Konstanten + /*------------------------------------------*/ - /*------------------------------------------*/ - // statische Attribute(zB. zähler) - /*------------------------------------------*/ + /*------------------------------------------*/ + // statische Attribute(zB. zähler) + /*------------------------------------------*/ - /*------------------------------------------*/ - // Attribute jedes Objektes - /*------------------------------------------*/ + /*------------------------------------------*/ + // Attribute jedes Objektes + /*------------------------------------------*/ + private Kartenfarbe farbe; + private int kartenNummer; - /*------------------------------------------*/ - // Konstruktoren (default und spezifische) - /*------------------------------------------*/ + /*------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*------------------------------------------*/ + public Zahlenkarte() { + super(); + } - /*------------------------------------------*/ - // statische Methoden - /*------------------------------------------*/ + public Zahlenkarte(Kartenfarbe farbe, int kartenNummer) { + super(); + setFarbe(farbe); + setKartenNummer(kartenNummer); - /*------------------------------------------*/ - // Getter und Setter - /*------------------------------------------*/ + } + /*------------------------------------------*/ + // statische Methoden + /*------------------------------------------*/ - /*------------------------------------------*/ - // @Overrides - /*------------------------------------------*/ + /*------------------------------------------*/ + // Getter und Setter + /*------------------------------------------*/ + public void setFarbe(Kartenfarbe farbe) { + this.farbe = farbe; + } - /*------------------------------------------*/ - // öffentliche Methodes - /*------------------------------------------*/ + public Kartenfarbe getFarbe() { + return farbe; + } - /*------------------------------------------*/ - // Hilfsmethoden (privat) - /*------------------------------------------*/ + public void setKartenNummer(int kartenNummer) { + this.kartenNummer = kartenNummer; + } + + public int getKartenNummer() { + return kartenNummer; + } + + /*------------------------------------------*/ + // @Overrides + /*------------------------------------------*/ + + /*------------------------------------------*/ + // öffentliche Methodes + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Hilfsmethoden (privat) + /*------------------------------------------*/ } diff --git a/Test/Domain/Karten/MagierkarteTest.java b/Test/Domain/Karten/MagierkarteTest.java index 2a81c52..bc2fe15 100644 --- a/Test/Domain/Karten/MagierkarteTest.java +++ b/Test/Domain/Karten/MagierkarteTest.java @@ -45,12 +45,4 @@ public class MagierkarteTest { } - 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");}); - } } diff --git a/Test/Domain/Karten/NarrenkarteTest.java b/Test/Domain/Karten/NarrenkarteTest.java index d72df93..3fd07e8 100644 --- a/Test/Domain/Karten/NarrenkarteTest.java +++ b/Test/Domain/Karten/NarrenkarteTest.java @@ -38,13 +38,4 @@ public class NarrenkarteTest { 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");}); - } } diff --git a/Test/Domain/Karten/ZahlenkarteTest.java b/Test/Domain/Karten/ZahlenkarteTest.java index ebbc270..581af44 100644 --- a/Test/Domain/Karten/ZahlenkarteTest.java +++ b/Test/Domain/Karten/ZahlenkarteTest.java @@ -6,6 +6,87 @@ written on: 10 / 10 / 2023 at: 21:18 */ package Test.Domain.Karten; -public class ZahlenkarteTest { +import static org.junit.Assert.assertEquals; +import java.util.HashMap; + +import org.junit.jupiter.api.Test; + +import Domain.Enums.Kartenfarbe; +import Domain.Karten.Zahlenkarte; + +public class ZahlenkarteTest { + + /** + * Die Objekterzeugung der HashMap und der Zahlenkarten + * kann auch in ein @BeforeAll eingetragen werden. + */ + + /** + * Der @Test erzeugt Zahlenkarten von 1 bis 13. prüft aber + * nur zwei Positionen in der HashMap, um die + * Objektdaten zu validieren. + */ + @Test + public void dreizehnZahlenkartenMENSCH() { + + HashMap zm = new HashMap(); + Zahlenkarte zahlenkarte = null; + for (int i = 1; i <= 13; i++) { + zahlenkarte = new Zahlenkarte(Kartenfarbe.MENSCH, i); + zm.put (i, zahlenkarte); + } + + assertEquals(zm.get(7).getFarbe(), Kartenfarbe.MENSCH); + assertEquals(zm.get(7).getKartenNummer(), 7); + + assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH); + assertEquals(zm.get(4).getKartenNummer(), 4); + } + @Test + public void dreizehnZahlenkartenElf() { + HashMap ze = new HashMap(); + Zahlenkarte zahlenkarte = null; + for (int i = 1; i <= 13; i++) { + zahlenkarte = new Zahlenkarte(Kartenfarbe.ELF, i); + ze.put (i, zahlenkarte); + } + + assertEquals(ze.get(7).getFarbe(), Kartenfarbe.ELF); + assertEquals(ze.get(7).getKartenNummer(), 7); + + assertEquals(ze.get(4).getFarbe(), Kartenfarbe.ELF); + assertEquals(ze.get(4).getKartenNummer(), 4); + } + @Test + public void dreizehnZahlenkartenZWERG() { + HashMap zz = new HashMap(); + Zahlenkarte zahlenkarte = null; + for (int i = 1; i <= 13; i++) { + zahlenkarte = new Zahlenkarte(Kartenfarbe.ZWERG, i); + zz.put(i, zahlenkarte); + } + + assertEquals(zz.get(7).getFarbe(), Kartenfarbe.ZWERG); + assertEquals(zz.get(7).getKartenNummer(), 7); + + assertEquals(zz.get(4).getFarbe(), Kartenfarbe.ZWERG); + assertEquals(zz.get(4).getKartenNummer(), 4); + + } + @Test + public void dreizehnZahlenkartenRIESE() { + HashMap zr = new HashMap(); + Zahlenkarte zahlenkarte = null; + for (int i = 1; i <= 13; i++) { + zahlenkarte = new Zahlenkarte(Kartenfarbe.RIESE, i); + zr.put(i, zahlenkarte); + } + + assertEquals(zr.get(9).getFarbe(), Kartenfarbe.RIESE); + assertEquals(zr.get(9).getKartenNummer(), 9); + + assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE); + assertEquals(zr.get(2).getKartenNummer(), 2); + } }