WIZARD_PR2_DOP/Test/Domain/SpielerTest.java

73 lines
2.2 KiB
Java

/*
============================================================
This is the "SpielerTest" file from Author: Philipp Kotte
written on: 10 / 10 / 2023 at: 20:27
============================================================
*/
package Test.Domain;
import org.junit.Test;
import org.junit.jupiter.api.BeforeAll;
import Domain.Spieler;
import Domain.Enums.Geschlecht;
import Domain.Exceptions.SpielNotFoundException;
import Facade.Spiel;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
public class SpielerTest {
Spieler spieler, spieler2, spieler3, spieler4, spieler5, spieler6;
Spiel spiel;
@BeforeAll
public void immer() throws SpielNotFoundException {
spiel = new Spiel();
spieler = new Spieler(spiel, 0, "Herbert", Geschlecht.M);
spieler2 = new Spieler(spiel, 1, "Heinz", Geschlecht.M);
spieler3 = new Spieler(spiel, 2, "Ulrike", Geschlecht.W);
spieler4 = new Spieler(spiel, 3, "HerrFrau", Geschlecht.D);
spieler5 = new Spieler(spiel, 4, "", Geschlecht.KI);
spieler6 = new Spieler(spiel, 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
public void geschlechtTest() {
assertEquals(Geschlecht.M, spieler.getGeschlecht());
spieler.setGeschlecht(Geschlecht.D);
assertEquals(Geschlecht.D, spieler.getGeschlecht());
spieler.setGeschlecht(Geschlecht.W);
assertEquals(Geschlecht.W, spieler.getGeschlecht());
spieler.setGeschlecht(Geschlecht.KI);
assertEquals(Geschlecht.KI, spieler.getGeschlecht());
}
@Test
public void nameTest() {
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(spiel, 7, "Hugo", Geschlecht.M));
}
}