public void PlayerCanDrawFromDeck_Valid_when_same_player()
        {
            // Arrange
            var    shitheadMoveValidator = new ShitheadMoveValidator();
            Player player = new Player(null)
            {
                Id = Guid.NewGuid()
            };
            Game game = new Game(string.Empty, string.Empty)
            {
                State = player.Id.ToString()
            };

            // Act
            var result = shitheadMoveValidator.PlayerCanDrawFromDeck(game, player);

            // Assert
            Assert.Null(result);
        }
        public void PlayerCanDrawFromDeck_Valid_when_same_player_but_id_casing_differs()
        {
            // Arrange
            var    shitheadMoveValidator = new ShitheadMoveValidator();
            Player player = new Player(null)
            {
                Id = Guid.Parse("83B48D11-2243-42DB-88AC-BE1DE09B82CC")
            };
            Game game = new Game(string.Empty, string.Empty)
            {
                State = "83B48D11-2243-42db-88AC-be1de09b82cc"
            };

            // Act
            var result = shitheadMoveValidator.PlayerCanDrawFromDeck(game, player);

            // Assert
            Assert.Null(result);
        }
        public void PlayerCanDrawFromDeck_Invalid_if_another_players_turn()
        {
            // Arrange
            var  shitheadMoveValidator = new ShitheadMoveValidator();
            Game game = new Game(string.Empty, string.Empty)
            {
                State = "game-state"
            };
            Player player = new Player(null)
            {
                Id = Guid.Parse("83B48D11-2243-42DB-88AC-BE1DE09B82CC")
            };

            // Act
            var result = shitheadMoveValidator.PlayerCanDrawFromDeck(game, player);

            // Assert
            Assert.Equal(string.Format(Resources.It_is_another_player_s_turn__not_player__0_, player.Id.ToString()), result);
        }