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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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);
        }