MagierkarteTest-Klasse und Anpassung Magierkarte-Klasse

pull/33/head
Kai Sellmann 2023-10-12 08:20:31 +02:00
parent 81f5224f55
commit 6dbe69453c
2 changed files with 67 additions and 12 deletions

View File

@ -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

View File

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