PlayersHands class

This commit is contained in:
2025-03-05 18:46:06 +01:00
parent fd78bfa4d0
commit c50127ba1b
5 changed files with 63 additions and 52 deletions

View File

@@ -11,11 +11,11 @@ class PlayerHandKtTest :
val playerNumbers = 4
val players = (1..playerNumbers).map { Player(name = "name $it") }.toSet()
val firstPlayer = players.first()
val playersHands: PlayerHands = players.associateWith { emptyList() }
val playersHands = PlayersHands(players)
val card = Card.NumericCard(0, Card.Color.Red)
// When
val newHands: PlayerHands = playersHands.addCards(firstPlayer, listOf(card))
val newHands: PlayersHands = playersHands.addCards(firstPlayer, listOf(card))
assertNotNull(newHands[firstPlayer]).size shouldBeExactly 1
assertNotNull(newHands[players.last()]).size shouldBeExactly 0
@@ -28,13 +28,12 @@ class PlayerHandKtTest :
val firstPlayer = players.first()
val card1 = Card.NumericCard(1, Card.Color.Red)
val card2 = Card.NumericCard(2, Card.Color.Red)
val playersHands: PlayerHands =
players
.associateWith<Player, List<Card>> { emptyList() }
val playersHands: PlayersHands =
PlayersHands(players)
.addCards(firstPlayer, listOf(card1, card2))
// When
val newHands: PlayerHands = playersHands.removeCard(firstPlayer, card1)
val newHands: PlayersHands = playersHands.removeCard(firstPlayer, card1)
assertNotNull(newHands[firstPlayer]).size shouldBeExactly 1
assertNotNull(newHands[players.last()]).size shouldBeExactly 0