Beispiel #1
0
 public GameState(Guid id,
                  IDictionary <Guid,
                               IGamePlayerState> players,
                  IRunningRoundState roundState = null)
 {
     Id         = id;
     _players   = players;
     RoundState = roundState;
 }
Beispiel #2
0
        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();
 }