예제 #1
0
        public void GetPiece_Returned()
        {
            // arrange
            var piece = new Pawn(PieceColor.White);

            var coordinate = new Coordinate(5, 3);

            chessBoard.AddPiece(piece, coordinate);

            // action
            IPiece result = chessBoard.GetPiece(coordinate);

            // assert
            Assert.AreEqual(piece, result);
        }
예제 #2
0
        public void Move_Successful()
        {
            // arrange
            var chessBoard = new ChessBoard()
            {
                CoordinateValidator = mockCoordinateValidator.Object
            };
            var coordinate1 = new Coordinate(4, 3);
            var coordinate2 = new Coordinate(3, 3);
            var testPiece   = new TestPieceClass(PieceColor.Black);

            chessBoard.AddPiece(testPiece, coordinate1);

            // act
            testPiece.Move(coordinate2);

            // assert
            Assert.AreEqual(null, chessBoard.GetPiece(coordinate1));
            Assert.AreEqual(testPiece, chessBoard.GetPiece(coordinate2));
            Assert.AreEqual(chessBoard, testPiece.ChessBoard);
        }
예제 #3
0
        private void Test_Move_Pawn(PieceColor pieceColor, int fromXCoordinate, int fromYCoordinate, int toXCoordinate, int toYCoordinate, bool assertCoordinateEqualsDestination = true)
        {
            //arrange
            var pawn = new Pawn(pieceColor)
            {
                CoordinateValidator = mockCoordinateValidator.Object
            };
            var coordinate1 = new Coordinate(fromXCoordinate, fromYCoordinate);

            chessBoard.AddPiece(pawn, coordinate1);

            var coordinate2 = new Coordinate(toXCoordinate, toYCoordinate);

            //act
            pawn.Move(coordinate2);

            //assert
            if (assertCoordinateEqualsDestination)
            {
                Assert.AreEqual(coordinate2, pawn.Coordinate);
                Assert.AreEqual(null, chessBoard.GetPiece(coordinate1));
                Assert.AreEqual(pawn, chessBoard.GetPiece(coordinate2));
            }
        }