Beispiel #1
0
        public void TestAllPawnAttacksAndMoves(MoveTestCase testCases)
        {
            var actualMoves = _bitBoard.GetPseudoLegalMoves(testCases.SquareIndex, Piece.Pawn,
                                                            testCases.Color, testCases.Occupancy);

            Assert.AreEqual(testCases.Expected, actualMoves, testCases.ToString());
        }
Beispiel #2
0
        public void RookMovesShouldBeInitialized(ushort squareIndex)
        {
            var rank     = MovingPieceService.RankFromIdx(squareIndex);
            var file     = MovingPieceService.FileFromIdx(squareIndex);
            var rankFill = (ulong)0xff << (rank * 8);
            var fileFill = (ulong)0x101010101010101 << file;
            var boardVal = MovingPieceService.GetBoardValueOfIndex(squareIndex);

            var mask   = (rankFill | fileFill) ^ boardVal;
            var actual = BitBoard.GetPseudoLegalMoves(squareIndex, Piece.Rook, Color.Black, 0);

            Assert.AreEqual(mask, actual);
        }