Compare commits
5 Commits
47761bd4a6
...
372f20ca6c
| Author | SHA1 | Date | |
|---|---|---|---|
| 372f20ca6c | |||
| a5dcf3ee90 | |||
| b9a7b0a2af | |||
| fbc0ea2277 | |||
| f998d5f6f0 |
@@ -37,14 +37,12 @@ class CardBaseManager extends CardManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def nextCard(): Card = {
|
override def nextCard(): Card = {
|
||||||
val card = cc(currentIdx)
|
if (currentIdx > 51)
|
||||||
if (currentIdx + 1 > 51) {
|
|
||||||
throw new IndexOutOfBoundsException("Trying to access card 53(out of bounds)")
|
throw new IndexOutOfBoundsException("Trying to access card 53(out of bounds)")
|
||||||
} else {
|
val card = cc(currentIdx)
|
||||||
currentIdx += 1
|
currentIdx += 1
|
||||||
card
|
card
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
override def removeCards(amount: Int): List[Card] = {
|
override def removeCards(amount: Int): List[Card] = {
|
||||||
val removedCards = ListBuffer[Card]()
|
val removedCards = ListBuffer[Card]()
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ trait GameLogic extends EventHandler with SnapshottingGameLogic {
|
|||||||
def controlPreRound(): Unit
|
def controlPreRound(): Unit
|
||||||
def controlRound(): Unit
|
def controlRound(): Unit
|
||||||
def endRound(winner: AbstractPlayer, roundResult: RoundResult): Match
|
def endRound(winner: AbstractPlayer, roundResult: RoundResult): Match
|
||||||
|
def returnFromTie(winner: AbstractPlayer): Unit
|
||||||
def controlTrick(): Unit
|
def controlTrick(): Unit
|
||||||
def endTrick(): Round
|
def endTrick(): Round
|
||||||
def controlPlayerPlay(): Unit
|
def controlPlayerPlay(): Unit
|
||||||
@@ -33,6 +34,8 @@ trait GameLogic extends EventHandler with SnapshottingGameLogic {
|
|||||||
def getCurrentRound: Option[Round]
|
def getCurrentRound: Option[Round]
|
||||||
def getCurrentTrick: Option[Trick]
|
def getCurrentTrick: Option[Trick]
|
||||||
def getCurrentPlayer: Option[AbstractPlayer]
|
def getCurrentPlayer: Option[AbstractPlayer]
|
||||||
|
def getWinner: Option[AbstractPlayer]
|
||||||
|
def getTrumpPlayer: Option[AbstractPlayer]
|
||||||
def getPlayerQueue: Option[CustomPlayerQueue[AbstractPlayer]]
|
def getPlayerQueue: Option[CustomPlayerQueue[AbstractPlayer]]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,12 +80,13 @@ final class BaseGameLogic(val config: Configuration) extends EventHandler with G
|
|||||||
if (matchImpl.roundlist.isEmpty) {
|
if (matchImpl.roundlist.isEmpty) {
|
||||||
if (cardManager.isEmpty) throw new IllegalStateException("No card manager set")
|
if (cardManager.isEmpty) throw new IllegalStateException("No card manager set")
|
||||||
val cardManagerImpl = cardManager.get
|
val cardManagerImpl = cardManager.get
|
||||||
|
cardManagerImpl.shuffleAndReset()
|
||||||
val firstCard = cardManagerImpl.nextCard()
|
val firstCard = cardManagerImpl.nextCard()
|
||||||
val newRound = RoundUtil.createRound(firstCard.suit, true)
|
val newRound = RoundUtil.createRound(firstCard.suit, true)
|
||||||
|
|
||||||
providePlayersWithCards()
|
providePlayersWithCards()
|
||||||
|
|
||||||
val randomPlayer: Int = 1//Random.nextInt(matchImpl.playersIn.size)
|
val randomPlayer: Int = Random.nextInt(matchImpl.playersIn.size)
|
||||||
playerQueue = Some(config.createRightQueue(matchImpl.playersIn.toArray, randomPlayer))
|
playerQueue = Some(config.createRightQueue(matchImpl.playersIn.toArray, randomPlayer))
|
||||||
|
|
||||||
matchImpl.playersIn.foreach(player => {invoke(ReceivedHandEvent(player))})
|
matchImpl.playersIn.foreach(player => {invoke(ReceivedHandEvent(player))})
|
||||||
@@ -107,29 +108,39 @@ final class BaseGameLogic(val config: Configuration) extends EventHandler with G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def returnFromTie(winner: AbstractPlayer): Unit = {
|
||||||
|
if (currentMatch.isEmpty) throw new IllegalStateException("No current match set")
|
||||||
|
val matchImpl = currentMatch.get
|
||||||
|
if (currentRound.isEmpty) throw new IllegalStateException("No current round set")
|
||||||
|
val roundImpl = currentRound.get
|
||||||
|
|
||||||
|
val roundResult: RoundResult = RoundUtil.finishRound(roundImpl, matchImpl)
|
||||||
|
val newMatch = endRound(winner, roundResult)
|
||||||
|
currentMatch = Some(newMatch)
|
||||||
|
controlMatch()
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
override def controlPreRound(): Unit = {
|
override def controlPreRound(): Unit = {
|
||||||
if (currentMatch.isEmpty) throw new IllegalStateException("No current match set")
|
if (currentMatch.isEmpty) throw new IllegalStateException("No current match set")
|
||||||
val matchImpl = currentMatch.get
|
val matchImpl = currentMatch.get
|
||||||
//Check if the last round had a winner
|
//Check if the last round had a winner
|
||||||
val lastRound = matchImpl.roundlist.last
|
val lastWinner = getTrumpPlayer
|
||||||
if (lastRound.winner.isEmpty)
|
if (lastWinner.isEmpty) throw new IllegalStateException("No last round winner found")
|
||||||
throw new IllegalStateException("Last round had no winner")
|
|
||||||
val lastWinner = lastRound.winner.get
|
|
||||||
|
|
||||||
//Create new player queue starting with last round winner
|
//Create new player queue starting with last round winner
|
||||||
|
|
||||||
playerQueue = Some(config.createRightQueue(
|
playerQueue = Some(config.createRightQueue(
|
||||||
matchImpl.playersIn.toArray,
|
matchImpl.playersIn.toArray,
|
||||||
matchImpl.playersIn.indexOf(lastWinner)
|
matchImpl.playersIn.indexOf(lastWinner.get)
|
||||||
))
|
))
|
||||||
|
|
||||||
invoke(GameStateChangeEvent(state, SelectTrump))
|
invoke(GameStateChangeEvent(state, SelectTrump))
|
||||||
state = SelectTrump
|
state = SelectTrump
|
||||||
|
|
||||||
invoke(TrumpSelectEvent(lastWinner))
|
invoke(TrumpSelectEvent(lastWinner.get))
|
||||||
|
|
||||||
playerInputLogic.requestTrumpSuit(lastWinner)
|
playerInputLogic.requestTrumpSuit(lastWinner.get)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def controlRound(): Unit = {
|
override def controlRound(): Unit = {
|
||||||
@@ -187,7 +198,7 @@ final class BaseGameLogic(val config: Configuration) extends EventHandler with G
|
|||||||
).map(rp => rp.amountOfTricks).sum))
|
).map(rp => rp.amountOfTricks).sum))
|
||||||
invoke(DelayEvent(2000))
|
invoke(DelayEvent(2000))
|
||||||
|
|
||||||
if (roundResult.notTricked.nonEmpty && !roundImpl.firstRound) {
|
if (roundResult.notTricked.nonEmpty && !resultingRound.firstRound) {
|
||||||
if (matchImpl.dogLife) {
|
if (matchImpl.dogLife) {
|
||||||
invoke(ShowPlayersOutEvent(roundResult.notTricked))
|
invoke(ShowPlayersOutEvent(roundResult.notTricked))
|
||||||
invoke(DelayEvent(2000))
|
invoke(DelayEvent(2000))
|
||||||
@@ -309,6 +320,21 @@ final class BaseGameLogic(val config: Configuration) extends EventHandler with G
|
|||||||
override def getPlayerQueue: Option[CustomPlayerQueue[AbstractPlayer]] = playerQueue
|
override def getPlayerQueue: Option[CustomPlayerQueue[AbstractPlayer]] = playerQueue
|
||||||
|
|
||||||
|
|
||||||
|
override def getWinner: Option[AbstractPlayer] = {
|
||||||
|
if (currentMatch.isEmpty) throw new IllegalStateException("No current match set")
|
||||||
|
val matchImpl = currentMatch.get
|
||||||
|
if (!matchImpl.isOver) return None
|
||||||
|
Some(matchImpl.playersIn.head)
|
||||||
|
}
|
||||||
|
|
||||||
|
override def getTrumpPlayer: Option[AbstractPlayer] = {
|
||||||
|
if (currentMatch.isEmpty) throw new IllegalStateException("No current match set")
|
||||||
|
val matchImpl = currentMatch.get
|
||||||
|
if (matchImpl.roundlist.isEmpty) return None
|
||||||
|
val roundImpl = matchImpl.roundlist.last
|
||||||
|
if (roundImpl.winner.isEmpty) return None
|
||||||
|
Some(roundImpl.winner.get)
|
||||||
|
}
|
||||||
//Snapshotting
|
//Snapshotting
|
||||||
|
|
||||||
override def createSnapshot(): LogicSnapshot[BaseGameLogic.this.type] = {
|
override def createSnapshot(): LogicSnapshot[BaseGameLogic.this.type] = {
|
||||||
@@ -316,8 +342,15 @@ final class BaseGameLogic(val config: Configuration) extends EventHandler with G
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def endSession(): Unit = {
|
override def endSession(): Unit = {
|
||||||
//TODO Return to main menu
|
cardManager = None
|
||||||
System.exit(0)
|
currentMatch = None
|
||||||
|
currentRound = None
|
||||||
|
currentTrick = None
|
||||||
|
currentPlayer = None
|
||||||
|
playerQueue = None
|
||||||
|
invoke(SessionClosed())
|
||||||
|
invoke(GameStateChangeEvent(state, MainMenu))
|
||||||
|
state = MainMenu
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,10 @@ package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
|||||||
|
|
||||||
import de.knockoutwhist.KnockOutWhist
|
import de.knockoutwhist.KnockOutWhist
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.sublogic.BasePlayerTieLogic
|
import de.knockoutwhist.control.sublogic.PersistenceManager
|
||||||
import de.knockoutwhist.control.sublogic.{PersistenceManager, PlayerTieLogic}
|
|
||||||
import de.knockoutwhist.control.{GameLogic, LogicSnapshot}
|
import de.knockoutwhist.control.{GameLogic, LogicSnapshot}
|
||||||
import de.knockoutwhist.events.util.ReloadAllEvent
|
import de.knockoutwhist.events.util.ReloadAllEvent
|
||||||
import de.knockoutwhist.persistence.formats.JSONFormatter
|
|
||||||
import de.knockoutwhist.persistence.{MatchSnapshot, MethodEntryPoint}
|
import de.knockoutwhist.persistence.{MatchSnapshot, MethodEntryPoint}
|
||||||
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
|
||||||
|
|
||||||
class BasePersistenceManager(val gameLogic: BaseGameLogic) extends PersistenceManager {
|
class BasePersistenceManager(val gameLogic: BaseGameLogic) extends PersistenceManager {
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,11 @@ import de.knockoutwhist.player.AbstractPlayer
|
|||||||
|
|
||||||
final class BasePlayerInputLogic(gameLogic: BaseGameLogic) extends PlayerInputLogic {
|
final class BasePlayerInputLogic(gameLogic: BaseGameLogic) extends PlayerInputLogic {
|
||||||
|
|
||||||
|
val TIME_TO_RESPOND: Int = 30 // seconds
|
||||||
|
|
||||||
private var _waitingForInput: Boolean = false
|
private var _waitingForInput: Boolean = false
|
||||||
|
|
||||||
|
|
||||||
override def requestTrumpSuit(player: AbstractPlayer): Unit = {
|
override def requestTrumpSuit(player: AbstractPlayer): Unit = {
|
||||||
_waitingForInput = true
|
_waitingForInput = true
|
||||||
gameLogic.invoke(RequestTrumpSuitEvent(player))
|
gameLogic.invoke(RequestTrumpSuitEvent(player))
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ final class BasePlayerTieLogic(gameLogic: BaseGameLogic) extends PlayerTieLogic
|
|||||||
|
|
||||||
val winner = winners.head
|
val winner = winners.head
|
||||||
// Inform game logic about the winner
|
// Inform game logic about the winner
|
||||||
|
gameLogic.returnFromTie(winner)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ final class BasePlayerTieLogic(gameLogic: BaseGameLogic) extends PlayerTieLogic
|
|||||||
|
|
||||||
// The highest allowed number is total cards minus the number of tied players already selected
|
// The highest allowed number is total cards minus the number of tied players already selected
|
||||||
// This ensures that each tied player can select a unique card
|
// This ensures that each tied player can select a unique card
|
||||||
remainingCards - (tiedPlayers.size - selectedCard.size - 1)
|
remainingCards - (tiedPlayers.size - (selectedCard.size + 1)) - 1
|
||||||
}
|
}
|
||||||
|
|
||||||
override def isWaitingForInput: Boolean = _waitingForInput
|
override def isWaitingForInput: Boolean = _waitingForInput
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ object MatchUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def dogNeedsToPlay(matchImpl: Match, roundImpl: Round): Boolean = {
|
def dogNeedsToPlay(matchImpl: Match, roundImpl: Round): Boolean = {
|
||||||
remainingRounds(matchImpl, roundImpl) == 1
|
remainingRounds(matchImpl, roundImpl) <= 1
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,4 +34,19 @@ object PlayerUtil {
|
|||||||
Nil
|
Nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def playableCards(round: Round, trick: Trick, player: AbstractPlayer): List[Card] = {
|
||||||
|
val handOption = player.currentHand()
|
||||||
|
if (handOption.isEmpty) {
|
||||||
|
throw new IllegalStateException("You have no cards!")
|
||||||
|
}
|
||||||
|
val hand = handOption.get
|
||||||
|
if (trick.firstCard.isEmpty) {
|
||||||
|
return hand.cards
|
||||||
|
}
|
||||||
|
val playableCards: List[Card] = for cardInHand <- hand.cards
|
||||||
|
if canPlayCard(cardInHand, round, trick, player)
|
||||||
|
yield cardInHand
|
||||||
|
playableCards
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package de.knockoutwhist.events.global
|
||||||
|
|
||||||
|
import de.knockoutwhist.utils.events.SimpleEvent
|
||||||
|
|
||||||
|
case class SessionClosed() extends SimpleEvent {
|
||||||
|
override def id: String = s"SessionClosed"
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@ package de.knockoutwhist.ui.gui
|
|||||||
|
|
||||||
import atlantafx.base.theme.PrimerDark
|
import atlantafx.base.theme.PrimerDark
|
||||||
import de.knockoutwhist.control.GameLogic
|
import de.knockoutwhist.control.GameLogic
|
||||||
import de.knockoutwhist.control.GameState.{InGame, Lobby, MainMenu, SelectTrump, TieBreak}
|
import de.knockoutwhist.control.GameState.*
|
||||||
import de.knockoutwhist.events.global.*
|
import de.knockoutwhist.events.global.*
|
||||||
import de.knockoutwhist.events.global.tie.{TieShowPlayerCardsEvent, TieTieEvent, TieTurnEvent, TieWinningPlayersEvent}
|
import de.knockoutwhist.events.global.tie.{TieShowPlayerCardsEvent, TieTieEvent, TieTurnEvent, TieWinningPlayersEvent}
|
||||||
import de.knockoutwhist.events.player.{RequestCardEvent, RequestTieChoiceEvent, RequestTrumpSuitEvent}
|
import de.knockoutwhist.events.player.{RequestCardEvent, RequestTieChoiceEvent, RequestTrumpSuitEvent}
|
||||||
@@ -64,6 +64,7 @@ class GUIMain extends JFXApp3 with EventListener with UI {
|
|||||||
_tieMenu.changeSlider(logic.get.playerTieLogic.highestAllowedNumber())
|
_tieMenu.changeSlider(logic.get.playerTieLogic.highestAllowedNumber())
|
||||||
case event: NewRoundEvent =>
|
case event: NewRoundEvent =>
|
||||||
_game.updateTrumpSuit(logic.get.getCurrentRound.get.trumpSuit)
|
_game.updateTrumpSuit(logic.get.getCurrentRound.get.trumpSuit)
|
||||||
|
case event: NewTrickEvent =>
|
||||||
_game.resetFirstCard()
|
_game.resetFirstCard()
|
||||||
case event: RoundEndEvent =>
|
case event: RoundEndEvent =>
|
||||||
_game.showWon(event.winner, event.amountOfTricks)
|
_game.showWon(event.winner, event.amountOfTricks)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import de.knockoutwhist.utils.events.{EventListener, SimpleEvent}
|
|||||||
|
|
||||||
object DelayHandler extends EventListener {
|
object DelayHandler extends EventListener {
|
||||||
|
|
||||||
private[knockoutwhist] var activateDelay: Boolean = false
|
private[knockoutwhist] var activateDelay: Boolean = true
|
||||||
|
|
||||||
override def listen(event: SimpleEvent): Unit = {
|
override def listen(event: SimpleEvent): Unit = {
|
||||||
event match {
|
event match {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package de.knockoutwhist.cards
|
package de.knockoutwhist.cards
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class HandSpec extends AnyWordSpec with Matchers {
|
class HandSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package de.knockoutwhist.cards.base
|
package de.knockoutwhist.cards.base
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
import de.knockoutwhist.cards.*
|
||||||
import org.scalatest.matchers.should.Matchers
|
import org.scalatest.matchers.should.Matchers
|
||||||
import de.knockoutwhist.cards._
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class CardBaseManagerSpec extends AnyWordSpec with Matchers {
|
class CardBaseManagerSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl
|
package de.knockoutwhist.control.controllerBaseImpl
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
|
||||||
import de.knockoutwhist.rounds.{Round, Trick}
|
import de.knockoutwhist.rounds.{Round, Trick}
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BaseGameLogicControlPlayerPlaySpec extends AnyWordSpec with Matchers {
|
class BaseGameLogicControlPlayerPlaySpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl
|
package de.knockoutwhist.control.controllerBaseImpl
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
|
||||||
import de.knockoutwhist.rounds.{Round, Trick}
|
import de.knockoutwhist.rounds.{Round, Trick}
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BaseGameLogicEndRoundSpec extends AnyWordSpec with Matchers {
|
class BaseGameLogicEndRoundSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl
|
package de.knockoutwhist.control.controllerBaseImpl
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
|
||||||
import de.knockoutwhist.rounds.{Round, Trick}
|
import de.knockoutwhist.rounds.{Round, Trick}
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BaseGameLogicMoreSpec extends AnyWordSpec with Matchers {
|
class BaseGameLogicMoreSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl
|
package de.knockoutwhist.control.controllerBaseImpl
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import de.knockoutwhist.player.{StubPlayer, AbstractPlayer}
|
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.rounds.Trick
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
import scala.collection.immutable.HashMap
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.sublogic.util.{ResultPlayer, RoundResult}
|
import de.knockoutwhist.control.controllerBaseImpl.sublogic.util.{ResultPlayer, RoundResult}
|
||||||
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
|
import de.knockoutwhist.player.{AbstractPlayer, StubPlayer}
|
||||||
|
import de.knockoutwhist.rounds.Trick
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
|
import scala.collection.immutable.HashMap
|
||||||
|
|
||||||
class BaseGameLogicRoundTrickSpec extends AnyWordSpec with Matchers {
|
class BaseGameLogicRoundTrickSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl
|
package de.knockoutwhist.control.controllerBaseImpl
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.control.GameState
|
import de.knockoutwhist.control.GameState
|
||||||
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
|
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BaseGameLogicSpec extends AnyWordSpec with Matchers {
|
class BaseGameLogicSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl
|
package de.knockoutwhist.control.controllerBaseImpl
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
|
import de.knockoutwhist.control.GameState
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
import de.knockoutwhist.player.AbstractPlayer
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
import de.knockoutwhist.control.GameState
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BaseGameLogicStateSpec extends AnyWordSpec with Matchers {
|
class BaseGameLogicStateSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
import de.knockoutwhist.components.Configuration
|
||||||
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
import de.knockoutwhist.persistence.MethodEntryPoint
|
import de.knockoutwhist.persistence.MethodEntryPoint
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
import de.knockoutwhist.player.AbstractPlayer
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BasePersistenceManagerSpec extends AnyWordSpec with Matchers {
|
class BasePersistenceManagerSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
||||||
|
|
||||||
import de.knockoutwhist.cards.Suit.Spades
|
import de.knockoutwhist.cards.Suit.Spades
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
|
||||||
import de.knockoutwhist.player.StubPlayer
|
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.rounds.{Round, Trick}
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
|
import de.knockoutwhist.player.{AbstractPlayer, StubPlayer}
|
||||||
|
import de.knockoutwhist.rounds.{Round, Trick}
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
import scala.collection.immutable.HashMap
|
import scala.collection.immutable.HashMap
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
import de.knockoutwhist.player.StubPlayer
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
import de.knockoutwhist.player.{AbstractPlayer, StubPlayer}
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BasePlayerInputLogicSpec extends AnyWordSpec with Matchers {
|
class BasePlayerInputLogicSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
|
||||||
import de.knockoutwhist.player.StubPlayer
|
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.sublogic.util.RoundResult
|
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
|
import de.knockoutwhist.control.controllerBaseImpl.sublogic.util.RoundResult
|
||||||
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
|
import de.knockoutwhist.player.{AbstractPlayer, StubPlayer}
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class BasePlayerTieLogicSpec extends AnyWordSpec with Matchers {
|
class BasePlayerTieLogicSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
|
import de.knockoutwhist.components.Configuration
|
||||||
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
import de.knockoutwhist.player.AbstractPlayer
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
|
||||||
import java.util.concurrent.atomic.AtomicInteger
|
|
||||||
import de.knockoutwhist.undo.Command
|
import de.knockoutwhist.undo.Command
|
||||||
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger
|
||||||
|
|
||||||
class BaseUndoManagerSpec extends AnyWordSpec with Matchers {
|
class BaseUndoManagerSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
||||||
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import de.knockoutwhist.cards.Suit
|
import de.knockoutwhist.cards.Suit
|
||||||
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class MatchUtilSpec extends AnyWordSpec with Matchers {
|
class MatchUtilSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
|
||||||
import de.knockoutwhist.rounds.{Round, Trick}
|
|
||||||
import de.knockoutwhist.player.StubPlayer
|
import de.knockoutwhist.player.StubPlayer
|
||||||
|
import de.knockoutwhist.rounds.{Round, Trick}
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class PlayerUtilSpec extends AnyWordSpec with Matchers {
|
class PlayerUtilSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
||||||
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class RoundUtilSpec extends AnyWordSpec with Matchers {
|
class RoundUtilSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import de.knockoutwhist.persistence.formats.FileFormatter
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.{BaseGameLogic, BaseGameLogicSnapshot}
|
import de.knockoutwhist.control.controllerBaseImpl.{BaseGameLogic, BaseGameLogicSnapshot}
|
||||||
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
|
||||||
import de.knockoutwhist.control.{GameLogic, GameState, SnapshottingGameLogic}
|
import de.knockoutwhist.control.{GameLogic, GameState, SnapshottingGameLogic}
|
||||||
|
import de.knockoutwhist.persistence.formats.FileFormatter
|
||||||
|
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class SnapshotUtilSpec extends AnyWordSpec with Matchers {
|
class SnapshotUtilSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
package de.knockoutwhist.control.controllerBaseImpl.sublogic.util
|
||||||
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
||||||
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
import de.knockoutwhist.rounds.{Match, Round, Trick}
|
||||||
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
import de.knockoutwhist.utils.baseQueue.CustomPlayerBaseQueue
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class TrickUtilSpec extends AnyWordSpec with Matchers {
|
class TrickUtilSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package de.knockoutwhist.persistence.formats
|
package de.knockoutwhist.persistence.formats
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.player.Playertype
|
import de.knockoutwhist.player.Playertype
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit, Hand}
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package de.knockoutwhist.persistence.formats
|
package de.knockoutwhist.persistence.formats
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import play.api.libs.json._
|
|
||||||
import de.knockoutwhist.persistence._
|
|
||||||
import de.knockoutwhist.control.GameState
|
|
||||||
import de.knockoutwhist.cards.{CardValue, Suit}
|
import de.knockoutwhist.cards.{CardValue, Suit}
|
||||||
|
import de.knockoutwhist.control.GameState
|
||||||
|
import de.knockoutwhist.persistence.*
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
import play.api.libs.json.*
|
||||||
|
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
package de.knockoutwhist.persistence.formats
|
package de.knockoutwhist.persistence.formats
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.components.Configuration
|
|
||||||
import de.knockoutwhist.persistence.MatchSnapshot
|
|
||||||
import de.knockoutwhist.persistence.MethodEntryPoint
|
|
||||||
import de.knockoutwhist.cards.base.CardBaseManager
|
import de.knockoutwhist.cards.base.CardBaseManager
|
||||||
import de.knockoutwhist.player.PlayerFactory
|
import de.knockoutwhist.components.Configuration
|
||||||
import de.knockoutwhist.player.Playertype
|
|
||||||
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
|
||||||
import de.knockoutwhist.player.AbstractPlayer
|
import de.knockoutwhist.persistence.{MatchSnapshot, MethodEntryPoint}
|
||||||
|
import de.knockoutwhist.player.{AbstractPlayer, PlayerFactory, Playertype}
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class JSONFormatterRoundtripSpec extends AnyWordSpec with Matchers {
|
class JSONFormatterRoundtripSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package de.knockoutwhist.persistence.formats
|
package de.knockoutwhist.persistence.formats
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.persistence.*
|
import de.knockoutwhist.persistence.*
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class JSONFormatterSpec extends AnyWordSpec with Matchers {
|
class JSONFormatterSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package de.knockoutwhist.player
|
package de.knockoutwhist.player
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
|
||||||
import org.scalatest.matchers.should.Matchers
|
import org.scalatest.matchers.should.Matchers
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit, Hand}
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package de.knockoutwhist.player
|
package de.knockoutwhist.player
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.player.baseImpl.HumanPlayer
|
import de.knockoutwhist.player.baseImpl.HumanPlayer
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit, Hand}
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class HumanPlayerSpec extends AnyWordSpec with Matchers {
|
class HumanPlayerSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package de.knockoutwhist.player
|
package de.knockoutwhist.player
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package de.knockoutwhist.rounds
|
package de.knockoutwhist.rounds
|
||||||
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
import de.knockoutwhist.cards.{Card, CardValue, Suit}
|
||||||
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
import de.knockoutwhist.player.{PlayerFactory, Playertype}
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class RoundsDataSpec extends AnyWordSpec with Matchers {
|
class RoundsDataSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package de.knockoutwhist.utils.baseQueue
|
package de.knockoutwhist.utils.baseQueue
|
||||||
|
|
||||||
import org.scalatest.wordspec.AnyWordSpec
|
|
||||||
import org.scalatest.matchers.should.Matchers
|
|
||||||
import de.knockoutwhist.player.StubPlayer
|
import de.knockoutwhist.player.StubPlayer
|
||||||
|
import org.scalatest.matchers.should.Matchers
|
||||||
|
import org.scalatest.wordspec.AnyWordSpec
|
||||||
|
|
||||||
class CustomPlayerBaseQueueSpec extends AnyWordSpec with Matchers {
|
class CustomPlayerBaseQueueSpec extends AnyWordSpec with Matchers {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user