Esempio n. 1
0
        public void Equals_TwoBoardsWithExactlyTheSameConfiguration_ReturnsTrue()
        {
            Board board1 = new Board();
            Board board2 = new Board();

            board1.Setup();
            board2.Setup();

            Assert.AreEqual(board1, board2);

            board1.Move(board1.GetSquare(1, 2), board1.GetSquare(1, 4));
            board2.Move(board2.GetSquare(1, 2), board2.GetSquare(1, 4));

            Assert.AreEqual(board1, board2);
        }
Esempio n. 2
0
        public void Equals_TwoBoardsWithDifferentConfigurations_ReturnsFalse()
        {
            Board board1 = new Board();
            Board board2 = new Board();

            board1.Setup();

            Assert.AreNotEqual(board1, board2);

            board1 = new Board();
            board2 = new Board();

            board1.SetSquare(1, 2, new NullPiece(board1));
            board2.SetSquare(1, 2, new Pawn(board2, PieceColor.White));

            Assert.AreNotEqual(board1, board2);
        }
 protected void InitializeBoard()
 {
     Board = new Board();
 }
Esempio n. 4
0
        private Position SimulateMove(Square origin, Square destination)
        {
            var simulationBoard = new Board();

            foreach (var square in _allSquares)
                simulationBoard.SetSquare(square.File, square.Rank, square.Occupier.Clone(simulationBoard));

            simulationBoard.Move(simulationBoard.GetSquare(origin.File, origin.Rank),
                                 simulationBoard.GetSquare(destination.File, destination.Rank));

            return simulationBoard.GetPosition();
        }
Esempio n. 5
0
 public Game(Board board)
 {
     board.Attach(this);
     State = GameState.SetupMode;
     PlayerToMove = PieceColor.Empty;
 }
Esempio n. 6
0
        private bool Equals(Board other)
        {
            if (ReferenceEquals(this, other)) return true;

            var boolToReturn = true;

            foreach (var square in _squareMatrix)
            {
                if (!square.Equals(other.GetSquare(square.File, square.Rank)))
                {
                    boolToReturn = false;
                    break;
                }
            }

            return boolToReturn;
        }