Exemple #1
0
        public void Test1ByteMoves()
        {
            int count = 100000;

            while ((count--) > 0)
            {
                Square start = (Square)rand.Next(64);

                var board         = new BitBoard();
                var randomSquares = GetRandomSquaresList(rand.Next(64));
                var moves         = new List <Move>();

                foreach (var sq in randomSquares)
                {
                    board.SetBit(sq);
                    moves.Add(new Move(start, sq));
                }

                var serializedMoves = BitBoardSerializer.GetMoves(start, board.GetInnerValue()).ToList();

                bool isOk = true;

                if (serializedMoves.Count != moves.Count)
                {
                    isOk = false;
                }

                if (isOk)
                {
                    for (int i = 0; i < serializedMoves.Count; ++i)
                    {
                        if ((moves[i].From != serializedMoves[i].From) ||
                            (moves[i].To != serializedMoves[i].To))
                        {
                            isOk = false;
                            break;
                        }
                    }
                }

                Assert.IsTrue(isOk);
            }
        }
Exemple #2
0
        public void Test1ByteSquares()
        {
            int count = 100000;

            while ((count--) > 0)
            {
                var board         = new BitBoard();
                var randomSquares = GetRandomSquaresList(rand.Next(64));

                foreach (var sq in randomSquares)
                {
                    board.SetBit(sq);
                }

                var serializedSquares = BitBoardSerializer.GetSquares(board.GetInnerValue()).Distinct().ToList();
                serializedSquares.Sort();
                Assert.IsTrue(
                    Enumerable.SequenceEqual(
                        serializedSquares,
                        randomSquares));
            }
        }
Exemple #3
0
 public virtual IEnumerable <Square> GetOwnFigures()
 {
     return(BitBoardSerializer.GetSquares(this.board));
 }