public void MustIgnoreMoveOnExistingPiece(int x, int y) { var spy = new BoardWriterSpy(); var boardReaderStub = new PieceSetOriginBoardReaderStub(x, y); var placePiece = new PlacePiece(spy, boardReaderStub); placePiece.Execute(x, y); Assert.That(spy.LastBoard, Is.Null); }
public void GivenAPieceHasBeenPlaced_WhenPlacingAPiece_ThenUpdatedBoardIncludesBothPieces() { var spy = new BoardWriterSpy(); var boardReaderStub = new PieceSetOriginBoardReaderStub(); var placePiece = new PlacePiece(spy, boardReaderStub); placePiece.Execute(1, 0); Assert.AreEqual(0, spy.LastBoard.PieceAt(0, 0)); Assert.AreEqual(1, spy.LastBoard.PieceAt(1, 0)); }
public void DoesNotMutateTheBoard() { var spy = new BoardWriterSpy(); var boardReaderStub = new PieceSetOriginBoardReaderStub(); var originalBoard = boardReaderStub.Fetch(); var placePiece = new PlacePiece(spy, boardReaderStub); placePiece.Execute(1, 0); Assert.IsNull(originalBoard.PieceAt(1, 0)); }