diff --git a/src/main/java/de/hsfulda/onses/services/PlayerService.java b/src/main/java/de/hsfulda/onses/services/PlayerService.java new file mode 100644 index 0000000..d726af8 --- /dev/null +++ b/src/main/java/de/hsfulda/onses/services/PlayerService.java @@ -0,0 +1,34 @@ +package de.hsfulda.onses.services; + +import de.hsfulda.onses.models.Player; + +import java.util.ArrayList; + +public class PlayerService { + + private boolean currentTurn = true; // true --> real player, false --> Bot + + private final ArrayList playerList = new ArrayList<>(); + + public ArrayList getPlayerList() { + return playerList; + } + public void addPlayerToList(Player player) { + playerList.add(player); + } + + public void nextTurn() + { + currentTurn = !currentTurn; + } + + public boolean getCurrentTurn() { + return currentTurn; + } + + public PlayerService setCurrentTurn(boolean currentTurn) { + this.currentTurn = currentTurn; + return this; + } + +} diff --git a/src/test/java/de/hsfulda/onses/PlayerServiceTest.java b/src/test/java/de/hsfulda/onses/PlayerServiceTest.java new file mode 100644 index 0000000..08630c6 --- /dev/null +++ b/src/test/java/de/hsfulda/onses/PlayerServiceTest.java @@ -0,0 +1,73 @@ + +package de.hsfulda.onses; + +import de.hsfulda.onses.services.PlayerService; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +import de.hsfulda.onses.models.Player; + +public class PlayerServiceTest { + + @Test + @DisplayName("addPlayerToPlayerList") + void addPlayerToPlayerList() { + //arrange + Player input = new Player(); + Player expected = input; + // act + PlayerService playerservice = new PlayerService(); + playerservice.addPlayerToList(input); + Player answer = playerservice.getPlayerList().getFirst(); + // assert + assertEquals(expected, answer); + } + + @Test + @DisplayName("addMultiplePlayerToPlayerList") + void addMultiplePlayerToPlayerList() { + //arrange + Player input1 = new Player(); + Player expected1 = input1; + Player input2 = new Player(); + Player expected2 = input2; + // act + PlayerService playerservice = new PlayerService(); + playerservice.addPlayerToList(input1); + playerservice.addPlayerToList(input2); + + Player answer1 = playerservice.getPlayerList().getFirst(); + Player answer2 = playerservice.getPlayerList().get(1); + // assert + assertEquals(expected1, answer1); + assertEquals(expected2, answer2); + } + @Test + @DisplayName("checkCurrentTurnAfterNextTurn") + void checkCurrentTurnAfterNextTurn() { + //arrange + boolean expected = true; + // act + PlayerService playerservice = new PlayerService(); + playerservice.setCurrentTurn(false); + playerservice.nextTurn(); + boolean answer = playerservice.getCurrentTurn(); + // assert + assertEquals(expected, answer); + } + @Test + @DisplayName("checkCurrentTurnAfterTwoTurns") + void checkCurrentTurnAfterTwoTurns() { + //arrange + boolean expected = false; + // act + PlayerService playerservice = new PlayerService(); + playerservice.setCurrentTurn(false); + playerservice.nextTurn(); + playerservice.nextTurn(); + boolean answer = playerservice.getCurrentTurn(); + // assert + assertEquals(expected, answer); + } +}