示例#1
0
            public void ShouldRemovePieceFromList()
            {
                var board = new Game.Board();

                board.ParseFen(InitialBoardSetupWhiteToMove);

                board.ClearPiece(board.Squares[21]);

                //board.WhiteRookPieceList.Count.Should().Be(3);
            }
示例#2
0
            public void ShouldEmptyTheSquare()
            {
                var board = new Game.Board();

                board.ParseFen(InitialBoardSetupWhiteToMove);

                board.ClearPiece(board.Squares[21]);

                board.Squares[21].Type.Should().Be(PieceType.Empty);
            }
示例#3
0
            public void ShouldUpdateTheMaterial()
            {
                var board = new Game.Board();

                board.ParseFen(InitialBoardSetupWhiteToMove);
                int material = board.Material[(int)Color.White];

                board.ClearPiece(board.Squares[21]);

                board.Material[(int)Color.White].Should().Be(material - new Rook().Value);
            }
示例#4
0
            public void ShouldHashOutPiece()
            {
                var board = new Game.Board();

                board.ParseFen(InitialBoardSetupWhiteToMove);

                int initialPositionKey = board.PositionKey;

                board.ClearPiece(board.Squares[21]);


                board.HashPiece(new Rook {
                    Square = 21
                });
                var positionKey = board.PositionKey;

                initialPositionKey.Should().Be(positionKey);
            }