public void TestAllPawnAttacksAndMoves(MoveTestCase testCases) { var actualMoves = _bitBoard.GetPseudoLegalMoves(testCases.SquareIndex, Piece.Pawn, testCases.Color, testCases.Occupancy); Assert.AreEqual(testCases.Expected, actualMoves, testCases.ToString()); }
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); }