resolved merge conflict

pull/37/head
Philipp Kotte 2023-10-25 12:29:58 +02:00
commit 7fe6347026
9 changed files with 95 additions and 48 deletions

View File

@ -19,5 +19,10 @@ public enum Kartenfarbe {
public String getFarbe() { public String getFarbe() {
return farbe; return farbe;
} }
@Override
public String toString() {
return getFarbe();
}
} }

View File

@ -6,13 +6,12 @@ written on: 05 / 10 / 2023 at: 23:41
*/ */
package Domain.Karten; package Domain.Karten;
public class Magierkarte extends Karte { public class Magierkarte extends Karte {
// Statische Konstanten // Statische Konstanten
private static String TRUMPF_NAME = "Zauberer"; private static String TRUMPF_NAME = "Zauberer";
// Statische Attribute // Statische Attribute
// Attribute des Objekts // Attribute des Objekts
private String bezeichnung; private String bezeichnung;
// Konstruktoren // Konstruktoren
@ -35,7 +34,10 @@ public class Magierkarte extends Karte {
} }
// @Overrides // @Overrides
@Override
public String toString() {
return this.getBezeichnung();
}
// Public Methoden // Public Methoden
// Private Methoden // Private Methoden

View File

@ -6,7 +6,6 @@ written on: 05 / 10 / 2023 at: 23:41
*/ */
package Domain.Karten; package Domain.Karten;
public class Narrenkarte extends Karte { public class Narrenkarte extends Karte {
// Statische Konstanten // Statische Konstanten
@ -35,7 +34,10 @@ public class Narrenkarte extends Karte {
} }
// @Overrides // @Overrides
@Override
public String toString() {
return this.getBezeichnung();
}
// Public Methoden // Public Methoden
// Private Methoden // Private Methoden

View File

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

View File

@ -23,7 +23,7 @@ public class Spieler implements Serializable {
/*------------------------------------------*/ /*------------------------------------------*/
// Attribute jedes Objektes // Attribute jedes Objektes
/*------------------------------------------*/ /*------------------------------------------*/
private int id; private int id = 0;
private String name; private String name;
private int vorhersage; private int vorhersage;
private Geschlecht geschlecht; private Geschlecht geschlecht;
@ -48,9 +48,22 @@ public class Spieler implements Serializable {
*/ */
public Spieler(int id, String name, Geschlecht geschlecht) { public Spieler(int id, String name, Geschlecht geschlecht) {
this(); this();
setId(id); if (id < 6) {
setName(name); setId(id);
setGeschlecht(geschlecht); }
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

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

View File

@ -9,7 +9,6 @@ package Test.Domain.Karten;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import org.junit.Test; import org.junit.Test;
import Domain.Enums.Kartenfarbe;
import Domain.Karten.Narrenkarte; import Domain.Karten.Narrenkarte;
public class NarrenkarteTest { public class NarrenkarteTest {
@ -20,13 +19,11 @@ public class NarrenkarteTest {
Narrenkarte n2 = new Narrenkarte(); Narrenkarte n2 = new Narrenkarte();
Narrenkarte n3 = new Narrenkarte(); Narrenkarte n3 = new Narrenkarte();
Narrenkarte n4 = new Narrenkarte(); Narrenkarte n4 = new Narrenkarte();
assertEquals(n1.getBezeichnung(), "Narr"); assertEquals(n1.getBezeichnung(), "Narr");
assertEquals(n2.getBezeichnung(), "Narr"); assertEquals(n2.getBezeichnung(), "Narr");
assertEquals(n3.getBezeichnung(), "Narr"); assertEquals(n3.getBezeichnung(), "Narr");
assertEquals(n4.getBezeichnung(), "Narr"); assertEquals(n4.getBezeichnung(), "Narr");
} }
} }

View File

@ -10,54 +10,56 @@ import static org.junit.Assert.assertEquals;
import java.util.HashMap; import java.util.HashMap;
import org.junit.jupiter.api.Test; import org.junit.Test;
import Domain.Enums.Kartenfarbe; import Domain.Enums.Kartenfarbe;
import Domain.Karten.Zahlenkarte; import Domain.Karten.Zahlenkarte;
public class ZahlenkarteTest { public class ZahlenkarteTest {
/** /**
* Die Objekterzeugung der HashMap und der Zahlenkarten * Die Objekterzeugung der HashMap und der Zahlenkarten
* kann auch in ein @BeforeAll eingetragen werden. * kann auch in ein @BeforeAll eingetragen werden.
*/ */
/** /**
* Der @Test erzeugt Zahlenkarten von 1 bis 13. prüft aber * Der @Test erzeugt Zahlenkarten von 1 bis 13. prüft aber
* nur zwei Positionen in der HashMap, um die * nur zwei Positionen in der HashMap, um die
* Objektdaten zu validieren. * Objektdaten zu validieren.
*/ */
@Test @Test
public void dreizehnZahlenkartenMENSCH() { public void dreizehnZahlenkartenMENSCH() {
HashMap<Integer, Zahlenkarte> zm = new HashMap<Integer, Zahlenkarte>(); HashMap<Integer, Zahlenkarte> zm = new HashMap<Integer, Zahlenkarte>();
Zahlenkarte zahlenkarte = null; Zahlenkarte zahlenkarte = null;
for (int i = 1; i <= 13; i++) { for (int i = 1; i <= 13; i++) {
zahlenkarte = new Zahlenkarte(Kartenfarbe.MENSCH, i); zahlenkarte = new Zahlenkarte(Kartenfarbe.MENSCH, i);
zm.put (i, zahlenkarte); 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(7).getKartenNummer(), 7);
assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH); assertEquals(zm.get(4).getKartenfarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(4).getKartenNummer(), 4); assertEquals(zm.get(4).getKartenNummer(), 4);
} }
@Test @Test
public void dreizehnZahlenkartenElf() { public void dreizehnZahlenkartenElf() {
HashMap<Integer, Zahlenkarte> ze = new HashMap<Integer, Zahlenkarte>(); HashMap<Integer, Zahlenkarte> ze = new HashMap<Integer, Zahlenkarte>();
Zahlenkarte zahlenkarte = null; Zahlenkarte zahlenkarte = null;
for (int i = 1; i <= 13; i++) { for (int i = 1; i <= 13; i++) {
zahlenkarte = new Zahlenkarte(Kartenfarbe.ELF, i); zahlenkarte = new Zahlenkarte(Kartenfarbe.ELF, i);
ze.put (i, zahlenkarte); 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(7).getKartenNummer(), 7);
assertEquals(ze.get(4).getFarbe(), Kartenfarbe.ELF); assertEquals(ze.get(4).getKartenfarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(4).getKartenNummer(), 4); assertEquals(ze.get(4).getKartenNummer(), 4);
} }
@Test @Test
public void dreizehnZahlenkartenZWERG() { public void dreizehnZahlenkartenZWERG() {
HashMap<Integer, Zahlenkarte> zz = new HashMap<Integer, Zahlenkarte>(); HashMap<Integer, Zahlenkarte> zz = new HashMap<Integer, Zahlenkarte>();
@ -66,27 +68,28 @@ public class ZahlenkarteTest {
zahlenkarte = new Zahlenkarte(Kartenfarbe.ZWERG, i); zahlenkarte = new Zahlenkarte(Kartenfarbe.ZWERG, i);
zz.put(i, zahlenkarte); 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(7).getKartenNummer(), 7);
assertEquals(zz.get(4).getFarbe(), Kartenfarbe.ZWERG); assertEquals(zz.get(4).getKartenfarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(4).getKartenNummer(), 4); assertEquals(zz.get(4).getKartenNummer(), 4);
} }
@Test @Test
public void dreizehnZahlenkartenRIESE() { public void dreizehnZahlenkartenRIESE() {
HashMap<Integer, Zahlenkarte> zr = new HashMap<Integer, Zahlenkarte>(); HashMap<Integer, Zahlenkarte> zr = new HashMap<Integer, Zahlenkarte>();
Zahlenkarte zahlenkarte = null; Zahlenkarte zahlenkarte = null;
for (int i = 1; i <= 13; i++) { for (int i = 1; i <= 13; i++) {
zahlenkarte = new Zahlenkarte(Kartenfarbe.RIESE, i); zahlenkarte = new Zahlenkarte(Kartenfarbe.RIESE, i);
zr.put(i, zahlenkarte); 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(9).getKartenNummer(), 9);
assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE); assertEquals(zr.get(2).getKartenfarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(2).getKartenNummer(), 2); assertEquals(zr.get(2).getKartenNummer(), 2);
} }
} }

View File

@ -12,18 +12,25 @@ import Domain.Spieler;
import Domain.Enums.Geschlecht; import Domain.Enums.Geschlecht;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
public class SpielerTest { public class SpielerTest {
Spieler spieler = new Spieler(0, "Herbert", Geschlecht.M, 0); Spieler spieler = new Spieler(0, "Herbert", Geschlecht.M, 0);
Spieler spieler2 = new Spieler(1, "Heinz", Geschlecht.M, 0); Spieler spieler2 = new Spieler(1, "Heinz", Geschlecht.M, 0);
Spieler spieler3 = new Spieler(2, "Ulrike", Geschlecht.W, 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 @Test
public void idTest() { public void idTest() {
assertEquals(0, spieler.getId()); assertEquals(0, spieler.getId());
assertEquals(1, spieler2.getId()); assertEquals(1, spieler2.getId());
assertEquals(2, spieler3.getId()); assertEquals(2, spieler3.getId());
assertEquals(3, spieler4.getId());
assertEquals(4, spieler5.getId());
assertEquals(5, spieler6.getId());
} }
@Test @Test
@ -42,6 +49,11 @@ public class SpielerTest {
assertEquals("Herbert", spieler.getName()); assertEquals("Herbert", spieler.getName());
spieler.setName("Heinz"); spieler.setName("Heinz");
assertEquals("Heinz", spieler.getName()); 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));
}
} }