Philipp Kotte 2023-10-12 08:52:37 +02:00
commit e55fddc6f9
4 changed files with 119 additions and 12 deletions

View File

@ -13,32 +13,38 @@ 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 Kartenfarbe getKartenfarbe() {
return this.kartenfarbe;
}
public int getId() {
@ -52,6 +58,14 @@ public class Magierkarte extends Karte {
public String getBezeichnung() {
return this.bezeichnung;
}
public void setMagierkartenanzahl(int magierkartenanzahl) {
magierkartenanzahl++;
}
public int getMagierkartenanzahl() {
return magierkartenanzahl;
}
// @Overrides
@Override

View File

@ -13,7 +13,7 @@ public class Narrenkarte extends Karte {
// Statische Konstanten
// Statische Attribute
private static int narrenkarteanzahl = 0;
// Attribute des Objekts
private Kartenfarbe farbe;
private String bezeichnung;
@ -25,8 +25,13 @@ public class Narrenkarte extends Karte {
public Narrenkarte(Kartenfarbe farbe, String bezeichnung) {
super();
setFarbe(farbe);
setBezeichnung(bezeichnung);
if (narrenkarteanzahl < 4) {
setNarrenkarteanzahl(narrenkarteanzahl);
setFarbe(farbe);
setBezeichnung(bezeichnung);
} else {
throw new RuntimeException("Es darf nur vier Narrenkarten geben.");
}
}
// Statische Methoden
@ -50,6 +55,10 @@ public class Narrenkarte extends Karte {
public String getBezeichnung() {
return this.bezeichnung;
}
public void setNarrenkarteanzahl(int narrenkarteanzahl) {
narrenkarteanzahl++;
}
// @Overrides
@Override

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

View File

@ -6,6 +6,45 @@ written on: 10 / 10 / 2023 at: 21:18
*/
package Test.Domain.Karten;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
import org.junit.Test;
import Domain.Enums.Kartenfarbe;
import Domain.Karten.Narrenkarte;
public class NarrenkarteTest {
@Test
public void vierNarren() {
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");
assertEquals(n1.getFarbe(), Kartenfarbe.MENSCH);
assertEquals(n2.getFarbe(), Kartenfarbe.ELF);
assertEquals(n3.getFarbe(), Kartenfarbe.RIESE);
assertEquals(n4.getFarbe(), Kartenfarbe.ZWERG);
assertEquals(n1.getBezeichnung(), "Narr");
assertEquals(n2.getBezeichnung(), "Narr");
assertEquals(n3.getBezeichnung(), "Narr");
assertEquals(n4.getBezeichnung(), "Narr");
assertEquals(Kartenfarbe.MENSCH.getFarbe(), "BLAU");
assertEquals(Kartenfarbe.ELF.getFarbe(), "GRÜN");
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");});
}
}