Browse Source
player_management: added method selectPlayer, added method equals and
player_management: added method selectPlayer, added method equals and
hashCode in class Player
Tobias Krause
3 years ago
4 changed files with 122 additions and 0 deletions
-
39src/main/java/de/tims/player_management/Player.java
-
21src/main/java/de/tims/player_management/PlayerManager.java
-
28src/test/java/de/tims/player_management/PlayerManagerTest.java
-
34src/test/java/de/tims/player_management/PlayerTest.java
@ -0,0 +1,39 @@ |
|||
package de.tims.player_management; |
|||
|
|||
public class Player { |
|||
|
|||
private int points; |
|||
|
|||
public Player(int points) { |
|||
this.points = points; |
|||
} |
|||
|
|||
public void addPoints(int pointsToAdd) { |
|||
this.points = (this.points + pointsToAdd > 0) ? this.points + pointsToAdd : 0; |
|||
} |
|||
|
|||
public int getPoints() { |
|||
return this.points; |
|||
} |
|||
|
|||
@Override |
|||
public boolean equals(Object o) { |
|||
if (o == this) { |
|||
return true; |
|||
} |
|||
|
|||
if ((o == null) || this.getClass() != o.getClass()) { |
|||
return false; |
|||
} |
|||
|
|||
Player player2 = (Player) o; |
|||
|
|||
return this.points == player2.points; |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
return points; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,21 @@ |
|||
package de.tims.player_management; |
|||
|
|||
import java.util.LinkedList; |
|||
|
|||
public class PlayerManager { |
|||
|
|||
private LinkedList<Player> players; |
|||
|
|||
public LinkedList<Player> getPlayers() { |
|||
return players; |
|||
} |
|||
|
|||
public void setPlayers(LinkedList<Player> players) { |
|||
this.players = players; |
|||
} |
|||
|
|||
public Player selectPlayer(String playerName) { |
|||
return new Player(0); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,28 @@ |
|||
package de.tims.player_management; |
|||
|
|||
import static org.assertj.core.api.Assertions.*; |
|||
|
|||
import java.util.LinkedList; |
|||
import java.util.stream.Stream; |
|||
|
|||
import org.junit.jupiter.params.ParameterizedTest; |
|||
import org.junit.jupiter.params.provider.Arguments; |
|||
import org.junit.jupiter.params.provider.MethodSource; |
|||
|
|||
class PlayerManagerTest { |
|||
|
|||
PlayerManager manager = new PlayerManager(); |
|||
|
|||
@ParameterizedTest |
|||
@MethodSource("testCasesForSelectPlayer") |
|||
void selectPlayerTest(String testName, LinkedList<Player> players, String playerName, Player expectedResult) { |
|||
manager.setPlayers(players); |
|||
Player calculatedResult = manager.selectPlayer(playerName); |
|||
assertThat(calculatedResult).describedAs(testName).isEqualTo(expectedResult); |
|||
} |
|||
|
|||
private static Stream<Arguments> testCasesForSelectPlayer() { |
|||
return Stream.of(Arguments.of("NoPlayersYet", new LinkedList<Player>(), "Tobias", new Player(0))); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,34 @@ |
|||
package de.tims.player_management; |
|||
|
|||
import static org.assertj.core.api.Assertions.*; |
|||
|
|||
import java.util.stream.Stream; |
|||
|
|||
import org.junit.jupiter.params.ParameterizedTest; |
|||
import org.junit.jupiter.params.provider.Arguments; |
|||
import org.junit.jupiter.params.provider.MethodSource; |
|||
|
|||
import de.tims.player_management.Player; |
|||
|
|||
class PlayerTest { |
|||
|
|||
Player player; |
|||
|
|||
@ParameterizedTest |
|||
@MethodSource("testCasesForAddPoints") |
|||
void addPointsTest(String testName, int pointsBefore, int pointsToAdd, int expectedResult) { |
|||
player = new Player(pointsBefore); |
|||
player.addPoints(pointsToAdd); |
|||
int calculatedResult = player.getPoints(); |
|||
assertThat(calculatedResult).describedAs(testName).isEqualTo(expectedResult); |
|||
} |
|||
|
|||
private static Stream<Arguments> testCasesForAddPoints() { |
|||
return Stream.of(Arguments.of("NoPointsBeforeGet0Points", 0, 0, 0), |
|||
Arguments.of("NoPointsBeforeGet10Points", 0, 10, 10), |
|||
Arguments.of("10PointsBeforeAdd10Points", 10, 10, 20), |
|||
Arguments.of("10PointsBeforeLose10Points", 10, -10, 0), |
|||
Arguments.of("LoseMorePointsThanYouHave", 10, -20, 0)); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue