コード例 #1
0
        public void UndoMoveTest(int x1, int y1, int x2, int y2)
        {
            // Arrange
            var board      = new Board(true);
            var boardLogic = new BoardLogic(true);


            // Act
            boardLogic.LogicMove(4, 1, 4, 3, board);
            boardLogic.LogicMove(4, 6, 4, 4, board);
            var       expected  = board.CloneChessBoard();
            var       expected2 = board.CloneWhitePieces();
            var       expected3 = board.CloneBlackPieces();
            PieceBase auxPiece  = board.ChessBoard[x2, y2];

            if (boardLogic.LogicMove(x1, y1, x2, y2, board))
            {
                boardLogic.UndoMove(x1, y1, x2, y2, auxPiece, board);
            }


            var result  = board.ChessBoard;
            var result2 = board.WhitePieces;
            var result3 = board.BlackPieces;

            // Assert
            Assert.AreEqual(expected, result);
            Assert.AreEqual(expected2, result2);
            Assert.AreEqual(expected3, result3);
        }
コード例 #2
0
        public void EvaluateBoardTest(int EvaluateExpected, int x1, int y1, int x2, int y2)
        {
            // Arrange
            bool player1    = true;
            var  board      = new Board(player1);
            var  boardLogic = new BoardLogic(player1);
            var  AI         = new ArtificialIntelligence(board);

            // Act
            boardLogic.TurnChange(board);
            boardLogic.LogicMove(x1, y1, x2, y2, board);
            var result = AI.EvaluateBoard(board);

            // Assert
            Assert.AreEqual(EvaluateExpected, result);
        }
コード例 #3
0
        public void FinallyMoveReverterTest(int x1, int y1, int x2, int y2)
        {
            // Arrange
            var board      = new Board(true);
            var boardLogic = new BoardLogic(true);
            var expected   = board.ChessBoard;

            PieceBase[,] BackupBoard = board.CloneChessBoard();
            // Act
            boardLogic.TurnChange(board);
            if (boardLogic.LogicMove(x1, y1, x2, y2, board))
            {
                boardLogic.TurnChange(board);
                board.ChessBoard = BackupBoard; //vuelve al board clonado
            }
            var result = board.ChessBoard;

            // Assert
            Assert.AreEqual(expected, result);
        }