public void Post_AddPlayerOfLegalColorToAnEmptyGame_HttpOkResult(string playerColor)
        {
            // Arrange
            var gameContainerMock = new GameContainerMock();

            gameContainerMock.LudoGameMock = new LudoGameMock();
            var sut = new LudoPlayersController(gameContainerMock);

            // Act
            var result = sut.Post(0, new LudoPlayer()
            {
                Name = "player1", Color = playerColor
            });

            // Assert
            Assert.IsType <OkResult>(result);
        }
        public void Post_AddAPlayerWithUnknownColor_Exception()
        {
            // Arrange
            var gameContainerMock = new GameContainerMock();

            gameContainerMock.LudoGameMock = new LudoGameMock()
            {
                ThrowExceptionWhenAddedPlayer = true
            };
            var sut = new LudoPlayersController(gameContainerMock);

            // Assert
            Assert.Throws <Exception>(() =>
                                      sut.Post(0, new LudoPlayer()
            {
                Name = "player1", Color = "orange"
            }));
        }
        public void Post_AddAnIlligalPlayerToGame_HttpBadResult()
        {
            // Arrange
            var gameContainerMock = new GameContainerMock();

            gameContainerMock.LudoGameMock = new LudoGameMock()
            {
                ThrowExceptionWhenAddedPlayer = true
            };
            var sut = new LudoPlayersController(gameContainerMock);

            // Act
            var result = sut.Post(0, new LudoPlayer()
            {
                Name = "player1", Color = "red"
            });

            // Assert
            Assert.IsType <BadRequestObjectResult>(result);
        }