Aktualisierungen siehe Kommentar im PullRequest #36

Merged
2211945 merged 1 commits from kts.laptop into main 2023-10-24 10:17:52 +02:00
9 changed files with 81 additions and 32 deletions

View File

@ -20,4 +20,9 @@ public enum Kartenfarbe {
return farbe;
}
@Override
public String toString() {
return getFarbe();
}
}

View File

@ -52,7 +52,10 @@ public class Magierkarte extends Karte {
}
// @Overrides
@Override
public String toString() {
return this.getBezeichnung() + ": " + this.getKartenfarbe().name() + " (" + this.getKartenfarbe().toString() +").";
}
// Public Methoden
// Private Methoden

View File

@ -15,7 +15,7 @@ public class Narrenkarte extends Karte {
// Statische Attribute
// Attribute des Objekts
private Kartenfarbe farbe;
private Kartenfarbe kartenfarbe;
private String bezeichnung;
// Konstruktoren
@ -25,7 +25,7 @@ public class Narrenkarte extends Karte {
public Narrenkarte(Kartenfarbe farbe, String bezeichnung) {
super();
setFarbe(farbe);
setKartenfarbe(farbe);
setBezeichnung(bezeichnung);
}
@ -33,12 +33,12 @@ public class Narrenkarte extends Karte {
// Getter und Setter
public void setFarbe(Kartenfarbe farbe) {
this.farbe = farbe;
public void setKartenfarbe(Kartenfarbe farbe) {
this.kartenfarbe = farbe;
}
public Kartenfarbe getFarbe() {
return this.farbe;
public Kartenfarbe getKartenfarbe() {
return this.kartenfarbe;
}
public void setBezeichnung(String bezeichnung) {
@ -50,7 +50,10 @@ public class Narrenkarte extends Karte {
}
// @Overrides
@Override
public String toString() {
return this.getBezeichnung() + ": " + this.getKartenfarbe().name() + " (" + this.getKartenfarbe().toString() + ").";
}
// Public Methoden
// Private Methoden

View File

@ -21,7 +21,7 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/
// Attribute jedes Objektes
/*------------------------------------------*/
private Kartenfarbe farbe;
private Kartenfarbe kartenfarbe;
private int kartenNummer;
/*------------------------------------------*/
@ -31,9 +31,9 @@ public class Zahlenkarte extends Karte {
super();
}
public Zahlenkarte(Kartenfarbe farbe, int kartenNummer) {
public Zahlenkarte(Kartenfarbe kartenfarbe, int kartenNummer) {
super();
setFarbe(farbe);
setKartenfarbe(kartenfarbe);
setKartenNummer(kartenNummer);
}
@ -44,12 +44,12 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/
// Getter und Setter
/*------------------------------------------*/
public void setFarbe(Kartenfarbe farbe) {
this.farbe = farbe;
public void setKartenfarbe(Kartenfarbe kartenfarbe) {
this.kartenfarbe = kartenfarbe;
}
public Kartenfarbe getFarbe() {
return farbe;
public Kartenfarbe getKartenfarbe() {
return kartenfarbe;
}
public void setKartenNummer(int kartenNummer) {
@ -63,7 +63,10 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
@Override
public String toString() {
return "Charakterkarte: " + this.getKartenfarbe().name() + " (" + this.getKartenfarbe() + ").";
}
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/

View File

@ -23,7 +23,7 @@ public class Spieler implements Serializable {
/*------------------------------------------*/
// Attribute jedes Objektes
/*------------------------------------------*/
private int id;
private int id = 0;
private String name;
private int vorhersage;
private Geschlecht geschlecht;
@ -48,8 +48,21 @@ public class Spieler implements Serializable {
*/
public Spieler(int id, String name, Geschlecht geschlecht) {
this();
if (id < 6) {
setId(id);
setName(name);
}
else {
throw new RuntimeException("Es darf nur max 6 Spieler geben.");
}
if (geschlecht == Geschlecht.KI) {
setName(name); // Bei KI wird kein Name gesetzt. name = leerer String
}
else if (name.length() > 2) {
setName(name); // Es wird geprüft, ob Name größer 2 Zeichen
}
else {
throw new RuntimeException("Der Name muss länger als 2 Buchstaben sein.");
}
setGeschlecht(geschlecht);
}

View File

@ -21,6 +21,14 @@ import org.junit.Test;
import Domain.Enums.Kartenfarbe;
import Domain.Karten.Magierkarte;
/**
*
* @author sellm
* @version
*
*
*/
public class MagierkarteTest {
@Test
@ -43,6 +51,8 @@ public class MagierkarteTest {
assertEquals("Zauberer", m4.getBezeichnung());
assertEquals("ROT", Kartenfarbe.ZWERG.getFarbe());
assertEquals("Zauberer: MENSCH (BLAU).", m1.toString());
}
}

View File

@ -23,10 +23,10 @@ public class NarrenkarteTest {
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.getKartenfarbe(), Kartenfarbe.MENSCH);
assertEquals(n2.getKartenfarbe(), Kartenfarbe.ELF);
assertEquals(n3.getKartenfarbe(), Kartenfarbe.RIESE);
assertEquals(n4.getKartenfarbe(), Kartenfarbe.ZWERG);
assertEquals(n1.getBezeichnung(), "Narr");
assertEquals(n2.getBezeichnung(), "Narr");

View File

@ -37,10 +37,10 @@ public class ZahlenkarteTest {
zm.put (i, zahlenkarte);
}
assertEquals(zm.get(7).getFarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(7).getKartenfarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(7).getKartenNummer(), 7);
assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(4).getKartenfarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(4).getKartenNummer(), 4);
}
@Test
@ -52,10 +52,10 @@ public class ZahlenkarteTest {
ze.put (i, zahlenkarte);
}
assertEquals(ze.get(7).getFarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(7).getKartenfarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(7).getKartenNummer(), 7);
assertEquals(ze.get(4).getFarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(4).getKartenfarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(4).getKartenNummer(), 4);
}
@Test
@ -67,10 +67,10 @@ public class ZahlenkarteTest {
zz.put(i, zahlenkarte);
}
assertEquals(zz.get(7).getFarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(7).getKartenfarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(7).getKartenNummer(), 7);
assertEquals(zz.get(4).getFarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(4).getKartenfarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(4).getKartenNummer(), 4);
}
@ -83,10 +83,10 @@ public class ZahlenkarteTest {
zr.put(i, zahlenkarte);
}
assertEquals(zr.get(9).getFarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(9).getKartenfarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(9).getKartenNummer(), 9);
assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(2).getKartenfarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(2).getKartenNummer(), 2);
}
}

View File

@ -12,18 +12,25 @@ import Domain.Spieler;
import Domain.Enums.Geschlecht;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
public class SpielerTest {
Spieler spieler = new Spieler(0, "Herbert", Geschlecht.M, 0);
Spieler spieler2 = new Spieler(1, "Heinz", Geschlecht.M, 0);
Spieler spieler3 = new Spieler(2, "Ulrike", Geschlecht.W, 0);
Spieler spieler4 = new Spieler(3, "HerrFrau", Geschlecht.D, 0);
Spieler spieler5 = new Spieler(4, "", Geschlecht.KI, 0);
Spieler spieler6 = new Spieler(5, "", Geschlecht.KI, 0);
@Test
public void idTest() {
assertEquals(0, spieler.getId());
assertEquals(1, spieler2.getId());
assertEquals(2, spieler3.getId());
assertEquals(3, spieler4.getId());
assertEquals(4, spieler5.getId());
assertEquals(5, spieler6.getId());
}
@Test
@ -42,6 +49,11 @@ public class SpielerTest {
assertEquals("Herbert", spieler.getName());
spieler.setName("Heinz");
assertEquals("Heinz", spieler.getName());
assertEquals("", spieler5.getName()); //Kein Name notwendig, da KI.
}
@Test
public void exceptionsTest() {
assertThrows(RuntimeException.class, () -> new Spieler(6, "", Geschlecht.KI, 0));
}
}