Alle Karten incl Test fertig

pull/35/head
Kai Sellmann 2023-10-13 07:58:37 +02:00
parent 47bd09f200
commit 860976eeb5
6 changed files with 172 additions and 93 deletions

View File

@ -10,59 +10,51 @@ import Domain.Enums.Kartenfarbe;
public class Magierkarte extends Karte { public class Magierkarte extends Karte {
// Statische Konstanten // Statische Konstanten
// Statische Attribute // Statische Attribute
private static int magierkartenanzahl = 0;
// Attribute des Objekts // Attribute des Objekts
private Kartenfarbe kartenfarbe; private Kartenfarbe kartenfarbe;
private String bezeichnung; private String bezeichnung;
// Konstruktoren // Konstruktoren
public Magierkarte() { public Magierkarte() {
super(); super();
setMagierkartenanzahl(magierkartenanzahl);
} }
public Magierkarte(Kartenfarbe kartenfarbe, String bezeichnung) { public Magierkarte(Kartenfarbe kartenfarbe, String bezeichnung) {
super(); super();
if (magierkartenanzahl < 4) { setKartenfarbe(kartenfarbe);
setMagierkartenanzahl(magierkartenanzahl); setBezeichnung(bezeichnung);
setKartenfarbe(kartenfarbe);
setBezeichnung(bezeichnung);
} else {
throw new RuntimeException("Es darf nur vier Magier im Spiel geben.");
}
} }
// Statische Methoden // Statische Methoden
// Getter und Setter // Getter und Setter
public void setKartenfarbe(Kartenfarbe kartenfarbe) { public void setKartenfarbe(Kartenfarbe kartenfarbe) {
this.kartenfarbe = kartenfarbe; this.kartenfarbe = kartenfarbe;
} }
public Kartenfarbe getKartenfarbe() { public Kartenfarbe getKartenfarbe() {
return this.kartenfarbe; return this.kartenfarbe;
} }
public void setBezeichnung(String bezeichnung) { public void setBezeichnung(String bezeichnung) {
this.bezeichnung = bezeichnung; this.bezeichnung = bezeichnung;
} }
public String getBezeichnung () {
public String getBezeichnung() {
return this.bezeichnung; return this.bezeichnung;
} }
public void setMagierkartenanzahl(int magierkartenanzahl) {
magierkartenanzahl++;
}
public int getMagierkartenanzahl() {
return magierkartenanzahl;
}
// @Overrides // @Overrides
// Public Methoden // Public Methoden
// Private Methoden // Private Methoden
} }

View File

@ -11,53 +11,48 @@ import Domain.Enums.Kartenfarbe;
public class Narrenkarte extends Karte { public class Narrenkarte extends Karte {
// Statische Konstanten // Statische Konstanten
// Statische Attribute // Statische Attribute
private static int narrenkarteanzahl = 0;
// Attribute des Objekts // Attribute des Objekts
private Kartenfarbe farbe; private Kartenfarbe farbe;
private String bezeichnung; private String bezeichnung;
// Konstruktoren // Konstruktoren
public Narrenkarte() { public Narrenkarte() {
super(); super();
} }
public Narrenkarte(Kartenfarbe farbe, String bezeichnung) { public Narrenkarte(Kartenfarbe farbe, String bezeichnung) {
super(); super();
if (narrenkarteanzahl < 4) { setFarbe(farbe);
setNarrenkarteanzahl(narrenkarteanzahl); setBezeichnung(bezeichnung);
setFarbe(farbe);
setBezeichnung(bezeichnung);
} else {
throw new RuntimeException("Es darf nur vier Narrenkarten geben.");
}
} }
// Statische Methoden // Statische Methoden
// Getter und Setter // Getter und Setter
public void setFarbe(Kartenfarbe farbe) { public void setFarbe(Kartenfarbe farbe) {
this.farbe = farbe; this.farbe = farbe;
} }
public Kartenfarbe getFarbe() { public Kartenfarbe getFarbe() {
return this.farbe; return this.farbe;
} }
public void setBezeichnung(String bezeichnung) { public void setBezeichnung(String bezeichnung) {
this.bezeichnung = bezeichnung; this.bezeichnung = bezeichnung;
} }
public String getBezeichnung() { public String getBezeichnung() {
return this.bezeichnung; return this.bezeichnung;
} }
public void setNarrenkarteanzahl(int narrenkarteanzahl) {
narrenkarteanzahl++;
}
// @Overrides // @Overrides
// Public Methoden // Public Methoden
// Private Methoden // Private Methoden
} }

View File

@ -6,42 +6,70 @@ written on: 05 / 10 / 2023 at: 23:30
*/ */
package Domain.Karten; package Domain.Karten;
import Domain.Enums.Kartenfarbe;
public class Zahlenkarte extends Karte { 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();
}
/*------------------------------------------*/ public Zahlenkarte(Kartenfarbe farbe, int kartenNummer) {
// statische Methoden super();
/*------------------------------------------*/ setFarbe(farbe);
setKartenNummer(kartenNummer);
/*------------------------------------------*/ }
// Getter und Setter /*------------------------------------------*/
/*------------------------------------------*/ // statische Methoden
/*------------------------------------------*/
/*------------------------------------------*/ /*------------------------------------------*/
// @Overrides // Getter und Setter
/*------------------------------------------*/ /*------------------------------------------*/
public void setFarbe(Kartenfarbe farbe) {
this.farbe = farbe;
}
/*------------------------------------------*/ public Kartenfarbe getFarbe() {
// öffentliche Methodes return farbe;
/*------------------------------------------*/ }
/*------------------------------------------*/ public void setKartenNummer(int kartenNummer) {
// Hilfsmethoden (privat) this.kartenNummer = kartenNummer;
/*------------------------------------------*/ }
public int getKartenNummer() {
return kartenNummer;
}
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/
/*------------------------------------------*/
// Hilfsmethoden (privat)
/*------------------------------------------*/
} }

View File

@ -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");});
}
} }

View File

@ -38,13 +38,4 @@ public class NarrenkarteTest {
assertEquals(Kartenfarbe.RIESE.getFarbe(), "GELB"); assertEquals(Kartenfarbe.RIESE.getFarbe(), "GELB");
assertEquals(Kartenfarbe.ZWERG.getFarbe(), "ROT"); 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");});
}
} }

View File

@ -6,6 +6,87 @@ written on: 10 / 10 / 2023 at: 21:18
*/ */
package Test.Domain.Karten; 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<Integer, Zahlenkarte> zm = new HashMap<Integer, Zahlenkarte>();
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<Integer, Zahlenkarte> ze = new HashMap<Integer, Zahlenkarte>();
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<Integer, Zahlenkarte> zz = new HashMap<Integer, Zahlenkarte>();
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<Integer, Zahlenkarte> zr = new HashMap<Integer, Zahlenkarte>();
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);
}
} }