public void TestConvertFileAndRankToSquareIndexMax() { var expectedIndex = 63; var rank = 7; var file = 7; var actualSquareIndex = BitBoard.ToSquareIndex(rank, file); Assert.AreEqual(expectedIndex, actualSquareIndex); }
public void TestConvertInvalidFileAndRankToSquareIndex() { var expectedIndex = (int?)null; var rank = 9; var file = 5; var actualSquareIndex = BitBoard.ToSquareIndex(rank, file); Assert.AreEqual(expectedIndex, actualSquareIndex); }
public void TestConvertSquareIndexToFileAndRank() { var squareIndex = 44; var expectedRank = 5; var expectedFile = 4; var actualRank = 0; var actualFile = 0; BitBoard.IndexToFileAndRank(squareIndex, out actualRank, out actualFile); Assert.AreEqual(expectedFile, actualFile); Assert.AreEqual(expectedRank, actualRank); }
public void TestWhiteBishops() { var bitBoard = new BitBoard(); bitBoard.SetStartPos(); var expectedPattern = "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 1 0 0 1 0 0"; AssertBoardPattern(expectedPattern, bitBoard.DebugPattern(PieceType.WhiteBishop)); }
public void TestBlackKnight() { var bitBoard = new BitBoard(); bitBoard.SetStartPos(); var expectedPattern = "0 1 0 0 0 0 1 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0"; AssertBoardPattern(expectedPattern, bitBoard.DebugPattern(PieceType.BlackKnight)); }
public void TestKnightMovePatternCorner() { var bitBoard = new BitBoard(); var moveBits = bitBoard.KnightMovePatternOfSquareIndex(63); var expected = "0 0 0 0 0 0 0 0" + "0 0 0 0 0 1 0 0" + "0 0 0 0 0 0 1 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0"; var actualPattern = bitBoard.DebugPattern(moveBits); TestBitBoardSetup.AssertBoardPattern(expected, actualPattern); }
public void TestKingMovePattersCenter() { var bitBoard = new BitBoard(); var moveBits = bitBoard.KingMovePatternOfSquareIndex(36); var expected = "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 1 1 1 0 0" + "0 0 0 1 0 1 0 0" + "0 0 0 1 1 1 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0"; var actualPattern = bitBoard.DebugPattern(moveBits); TestBitBoardSetup.AssertBoardPattern(expected, actualPattern); }
public void TestBishopMovePattern() { var bitBoard = new BitBoard(); var moveBits = bitBoard.BishopMovePatternOfSquareIndex(43); var expected = "0 1 0 0 0 1 0 0" + "0 0 1 0 1 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 1 0 1 0 0 0" + "0 1 0 0 0 1 0 0" + "1 0 0 0 0 0 1 0" + "0 0 0 0 0 0 0 1" + "0 0 0 0 0 0 0 0"; var actualPattern = bitBoard.DebugPattern(moveBits); TestBitBoardSetup.AssertBoardPattern(expected, actualPattern); }
public void TestBlackPawnAttacsMovePattern() { var bitBoard = new BitBoard(); var moveBits = bitBoard.BlackAttacsMovePatternOfSquareIndex(51); var expected = "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 1 0 1 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0"; var actualPattern = bitBoard.DebugPattern(moveBits); TestBitBoardSetup.AssertBoardPattern(expected, actualPattern); }
public void TestWhitePawnMovePattern2() { var bitBoard = new BitBoard(); var moveBits = bitBoard.WhiteMovePatternOfSquareIndex(18); var expected = "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 1 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0" + "0 0 0 0 0 0 0 0"; var actualPattern = bitBoard.DebugPattern(moveBits); TestBitBoardSetup.AssertBoardPattern(expected, actualPattern); }