Merge pull request 'MagierkarteTest-Klasse und Anpassung Magierkarte-Klasse' (#33) from kts1 into main

Reviewed-on: #33
Reviewed-by: Mohammad Hawrami <2210970@stud.hs-mannheim.de>
pull/35/head
Mohammad Hawrami 2023-10-12 08:40:43 +02:00
commit d766c52532
2 changed files with 67 additions and 12 deletions

View File

@ -14,41 +14,51 @@ 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 farbe; private Kartenfarbe kartenfarbe;
private String bezeichnung; private String bezeichnung;
// Konstruktoren // Konstruktoren
public Magierkarte() { public Magierkarte() {
super(); super();
setMagierkartenanzahl(magierkartenanzahl);
} }
public Magierkarte(Kartenfarbe farbe, String bezeichnung) { public Magierkarte(Kartenfarbe kartenfarbe, String bezeichnung) {
super(); super();
setFarbe(farbe); if (magierkartenanzahl < 4) {
setBezeichnung(bezeichnung); setMagierkartenanzahl(magierkartenanzahl);
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 setFarbe(Kartenfarbe farbe) { public void setKartenfarbe(Kartenfarbe kartenfarbe) {
this.farbe = farbe; this.kartenfarbe = kartenfarbe;
} }
public Kartenfarbe getFarbe() { public Kartenfarbe getKartenfarbe() {
return this.farbe; return this.kartenfarbe;
}
public int getId() {
return Karte.getId_card();
} }
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

View File

@ -6,6 +6,51 @@ written on: 10 / 10 / 2023 at: 21:18
*/ */
package Test.Domain.Karten; 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 { 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");});
}
} }