public void WhenPlacingAPiece_ThenCallsWriter()
        {
            var spy = new BoardWriterSpy();
            var emptyBoardReaderStub = new EmptyBoardReaderStub();
            var placePiece           = new PlacePiece(spy, emptyBoardReaderStub);

            placePiece.Execute(0, 0);
            Assert.True(spy.Called);
        }
        public void WhenPlacingTheFirstPiece_ThenUpdatesBoard(
            int x, int y,
            int?expectedPieceType, int expectedX, int expectedY)
        {
            var spy = new BoardWriterSpy();
            var emptyBoardReaderStub = new EmptyBoardReaderStub();
            var placePiece           = new PlacePiece(spy, emptyBoardReaderStub);

            placePiece.Execute(x, y);
            Assert.AreEqual(expectedPieceType, spy.LastBoard.PieceAt(expectedX, expectedY));
        }