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 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 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 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);
        }