public GameState(Guid id, IDictionary <Guid, IGamePlayerState> players, IRunningRoundState roundState = null) { Id = id; _players = players; RoundState = roundState; }
public void StartGame_SetsRound() { // Arrange var player1Guid = Guid.Parse("115e08ed-510e-4b79-acbc-a40b2ee40d08"); var gamePlayer1 = new PlayerState(player1Guid, null, null); var players = new Dictionary <Guid, IGamePlayerState> { { player1Guid, gamePlayer1 } }; IRunningRoundState roundState = null; var initialGameState = new GameState(_gameId, players, roundState); var roundPlayer1 = new PlayerState(player1Guid, new List <IDiscardedCardState>(), new List <IDiscardableCardState>()); _PlayerFactory .Setup(pf => pf.CreateRoundPlayer(gamePlayer1)) .Returns(roundPlayer1); var initialRoundState = GetRoundState(); IEnumerable <IRoundPlayerState> roundPlayers = new [] { roundPlayer1, }; _RoundFactory .Setup(rf => rf.CreateRound(roundPlayers)) .Returns(initialRoundState); var runningRoundState = GetRoundState(); var expected = runningRoundState; _RoundStartService .Setup(rss => rss.StartRound(initialRoundState)) .Returns(runningRoundState); // Act GameStartService service = CreateService(); var gameState = service.StartGame(initialGameState); var actual = gameState.RoundState; // Assert Assert.AreEqual(actual, expected); }
public void Discard(IRunningRoundState round, IDiscardableCardState card, ITargetablePlayerState targetPlayer = null) { throw new System.NotImplementedException(); }
public void AfterDiscard(IRunningRoundState round) { throw new System.NotImplementedException(); }
public void Draw(IRunningRoundState round) { throw new System.NotImplementedException(); }