예제 #1
0
        public void StartGame_StartsLudoGameWithOnePlayer_Exception()
        {
            // Arrange
            LudoPlayer lp  = new LudoPlayer();
            LudoGame   sut = new LudoGame();

            // Act + Assert
            Assert.Throws <Exception>(() => sut.StartGame(lp));
        }
예제 #2
0
        public void CurrentPlayer_StartsLudoGameWithTwoPlayers_CurrentPlayerIsPlayer1()
        {
            // Arrange
            LudoPlayer lp1 = new LudoPlayer("player1");
            LudoPlayer lp2 = new LudoPlayer("player2");
            LudoGame   sut = new LudoGame();

            // Act
            sut.StartGame(lp1, lp2);

            // Assert
            Assert.Equal("player1", sut.CurrentPlayer.PlayerName);
        }
예제 #3
0
        public void StartGame_StartsLudoGameWithTwoPlayer_GameGuidWhichIsNotEmptyGuid()
        {
            // Arrangea
            LudoPlayer lp1 = new LudoPlayer("player1");
            LudoPlayer lp2 = new LudoPlayer("player2");
            LudoGame   sut = new LudoGame();

            // Act
            sut.StartGame(lp1, lp2);

            // Assert
            Assert.NotEqual(Guid.Empty, sut.GameGuid);
        }
예제 #4
0
        public void StartGame_StartsLudoGameWithFivePlayers_Exception()
        {
            // Arrange
            LudoPlayer lp1 = new LudoPlayer();
            LudoPlayer lp2 = new LudoPlayer();
            LudoPlayer lp3 = new LudoPlayer();
            LudoPlayer lp4 = new LudoPlayer();
            LudoPlayer lp5 = new LudoPlayer();
            LudoGame   sut = new LudoGame();

            // Act + Assert
            Assert.Throws <Exception>(() => sut.StartGame(lp1, lp2, lp3, lp4, lp5));
        }
        public ActionResult Post(int gameId, [FromBody] LudoPlayer player)
        {
            PlayerColor playerColor = ParseColor(player.Color);

            try
            {
                ludoGames[gameId].AddPlayer(player.Name, playerColor);
                return(Ok());
            }
            catch
            {
                return(BadRequest("Unable to add player"));
            }
        }
예제 #6
0
        public void StartGame_StartsLudoGameWithFourPlayers_GameGuidWhichIsNotEmptyGuid()
        {
            // Arrange
            LudoPlayer lp1 = new LudoPlayer();
            LudoPlayer lp2 = new LudoPlayer();
            LudoPlayer lp3 = new LudoPlayer();
            LudoPlayer lp4 = new LudoPlayer();
            LudoGame   sut = new LudoGame();

            // Act
            sut.StartGame(lp1, lp2, lp3, lp4);

            // Assert
            Assert.NotEqual(Guid.Empty, sut.GameGuid);
        }
예제 #7
0
        public void GetAvaiablePieces_PlayerIsInHome_NumberOfPiecesWhichCanBeMovedOutOfHome(int diceRollValue, int expectedAvaiablePieces)
        {
            // Arrange
            LudoPlayer lp1 = new LudoPlayer("player1");
            GameBoard  gb  = new GameBoard();

            gb.AddPiecesWithPlayer(lp1);
            var sut = new PlayerTurn(lp1, gb);

            // Act
            Piece[] pieces = sut.GetAvaiablePieces(diceRollValue);

            // Assert
            Assert.Equal(expectedAvaiablePieces, pieces.Length);
        }
예제 #8
0
        public void GetAvaiablePieces_PlayerHaveAllPiecesOnBoard_NumberOfPiecesWhichCanBeMoved(int diceRollValue, int expectedAvaiablePieces)
        {
            // Arrange
            LudoPlayer lp1 = new LudoPlayer("player1");
            GameBoard  gb  = new GameBoard();

            gb.AddPiecesWithPlayer(lp1);
            gb.Pieces[0].TileId = 0;
            gb.Pieces[1].TileId = 1;
            gb.Pieces[2].TileId = 2;
            gb.Pieces[3].TileId = 3;
            var sut = new PlayerTurn(lp1, gb);

            // Act
            Piece[] pieces = sut.GetAvaiablePieces(diceRollValue);

            // Assert
            Assert.Equal(expectedAvaiablePieces, pieces.Length);
        }
예제 #9
0
        public void AddPiecesWithPlayer_TwoPlayers_AllPiecesAreAtPosition()
        {
            // Arrange
            LudoPlayer lp1 = new LudoPlayer();
            LudoPlayer lp2 = new LudoPlayer();
            GameBoard  sut = new GameBoard();

            // Act
            sut.AddPiecesWithPlayer(lp1);
            sut.AddPiecesWithPlayer(lp2);

            // Assert
            Assert.Equal(-1, sut.Pieces[0].TileId);
            Assert.Equal(-2, sut.Pieces[1].TileId);
            Assert.Equal(-3, sut.Pieces[2].TileId);
            Assert.Equal(-4, sut.Pieces[3].TileId);
            Assert.Equal(-1, sut.Pieces[4].TileId);
            Assert.Equal(-2, sut.Pieces[5].TileId);
            Assert.Equal(-3, sut.Pieces[6].TileId);
            Assert.Equal(-4, sut.Pieces[7].TileId);
        }
        public void Put(int gameId, int playerId, [FromBody] LudoPlayer value)
        {
            var player = ludoGames[gameId].GetPlayers().First(p => p.PlayerId == playerId);

            player.Name = value.Name;
        }