public void ChooseAsNextStone_WithValiArguments_SwitchesCurrentPlayer([Values(Player.One, Player.Two)] Player player)
        {
            var objectUnderTest = new ChooseStoneGameState(new PlayingBoard(), player);
            var result = objectUnderTest.ChooseAsNextStone(this._sampleStone);

            result.CurrentPlayer.Should().NotBe(objectUnderTest.CurrentPlayer);
        }
        public void ChooseAsNextStone_WithAnUnsetStone_ReturnsAGameStateWithTheSamePlayboardAndANextStoneSelected()
        {
            var objectUnderTest = new ChooseStoneGameState(new PlayingBoard(), Player.One);
            var result = objectUnderTest.ChooseAsNextStone(this._sampleStone);

            result.Should().NotBeNull();
            result.PlayingBoard.ShouldBeEquivalentTo(objectUnderTest.PlayingBoard);
            result.NextStone.Should().Be(this._sampleStone);
        }