public void Test_GetFigureAtPositionWhitInvalidPosition() { Board testBoard = new Board(); Position position = new Position(100, 'w'); Assert.AreEqual(null, testBoard.GetFigureAtPosition(position)); }
public void Test_GetFigureAtPositionWhitValidEmptyPosition() { Board testBoard = new Board(); Position position = new Position(8, 'c'); Assert.AreEqual(null, testBoard.GetFigureAtPosition(position)); }
public void Test_CreatePositionWhitValidData() { int chessRow = 7; char chessCol = 'c'; Position testedPosition = new Position(chessRow, chessCol); bool result = testedPosition.Row == chessRow && testedPosition.Col == chessCol; Assert.IsTrue(result); }
public void Test_AddFigureWhitInvalidFigureAndValidPosition() { Board testBoard = new Board(); Position position = new Position(5, 'a'); Pawn testPawn = null; testBoard.AddFigure(testPawn, position); }
public void Test_AddFigureWhitValidFigureAndInvalidPosition() { Board testBoard = new Board(); Position position = new Position(-61, 'q'); Pawn testPawn = new Pawn(ChessColor.White); testBoard.AddFigure(testPawn, position); }
public void RemoveFigure(Position position) { Position.CheckIfPositionIsValid(position); int arrRow = this.GetArrayRow(position.Row); int arrCol = this.GetArrayCol(position.Col); this.board[arrRow, arrCol] = null; }
public void AddFigure(IFigure figure, Position position) { ObjectValidator.CheckIfObjectIsNull(figure, GlobalErrorMessages.NullFigureErrorMessages); Position.CheckIfPositionIsValid(position); int arrRow = this.GetArrayRow(position.Row); int arrCol = this.GetArrayCol(position.Col); this.board[arrRow, arrCol] = figure; }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BoardTotalRowsAndCols; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } }
public void Test_AddFigureWhitValidData() { Board testBoard = new Board(); Position position = new Position(5, 'a'); Pawn testPawn = new Pawn(ChessColor.White); testBoard.AddFigure(testPawn, position); Assert.AreSame(testPawn, testBoard.GetFigureAtPosition(position)); }
public void MoveFigureAtPosition(IFigure figure, Position from, Position to) { int arrFromRow = this.GetArrayRow(from.Row); int arrFromCol = this.GetArrayCol(from.Col); this.board[arrFromRow, arrFromCol] = null; int arrToRow = this.GetArrayRow(to.Row); int arrToCol = this.GetArrayCol(to.Col); this.board[arrToRow, arrToCol] = figure; }
public void Test_GetFigureAtPositionWhitValidPosition() { Board testBoard = new Board(); Position position = new Position(8, 'c'); Bishop testBishop = new Bishop(ChessColor.White); testBoard.AddFigure(testBishop, position); Assert.AreSame(testBishop, testBoard.GetFigureAtPosition(position)); }
private void AddArmyToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BoardTotalRowsAndCols; i++) { var figureType = this.figureTypes[i]; var figureInstance = (IFigure)Activator.CreateInstance(figureType, player.Color); player.AddFigure(figureInstance); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(figureInstance, position); } }
private void DownChecker(IBoard board, Position from, Position to) { for (int i = from.Row; i > to.Row + 1; i--) { Position curentPosition = new Position(i - 1, from.Col); var figureAtPosition = board.GetFigureAtPosition(curentPosition); if (figureAtPosition != null) { throw new InvalidOperationException("Rook cannot move this way!"); } } }
public static void CheckIfPositionIsValid(Position position) { if (position.Row < GlobalConstants.MinimumRowOnBoard || position.Row > GlobalConstants.MaximumRowOnBoard) { throw new IndexOutOfRangeException("Selected row position on the board is not valid!"); } if (position.Col < GlobalConstants.MinimumColOnBoard || position.Col > GlobalConstants.MaximumColOnBoard) { throw new IndexOutOfRangeException("Selected column position on the board is not valid!"); } }
private void RightChecker(IBoard board, Position from, Position to) { var currentCol = from.Col + 1; for (int i = from.Col; i < to.Col - 1; i++) { Position curentPosition = new Position(from.Row, (char)currentCol); var figureAtPosition = board.GetFigureAtPosition(curentPosition); if (figureAtPosition != null) { throw new InvalidOperationException("Rook cannot move this way!"); } currentCol++; } }
private void DownRightChecker(IBoard board, Position from, Position to) { var fromRow = from.Row; var fromCol = from.Col; var currentRow = fromRow; var currentCol = fromCol; while (true) { currentRow--; currentCol++; if (currentRow == to.Row && currentCol == to.Col) { return; } Position curentPosition = new Position(currentRow, currentCol); var figureAtPosition = board.GetFigureAtPosition(curentPosition); if (figureAtPosition != null) { throw new InvalidOperationException("Bishop cannot move this way!"); } } }
private void CheckIfPlayerOwnsFigure(IPlayer player, IFigure figure, Position from) { if (figure == null) { throw new InvalidOperationException(string.Format("Position {0}{1} is empty!", from.Col, from.Row)); } if (figure.Color != player.Color) { throw new InvalidOperationException(string.Format("Figure at {0}{1} is not yiurs!", from.Col, from.Row)); } }
public IFigure GetFigureAtPosition(Position position) { int arrRow = this.GetArrayRow(position.Row); int arrCol = this.GetArrayCol(position.Col); return this.board[arrRow, arrCol]; }
private bool CheckOtherFigureIfValid(IBoard board, Position to, ChessColor color) { var otherFigure = board.GetFigureAtPosition(to); if (otherFigure != null && otherFigure.Color == color) { return true; } return false; }
private bool CheckDiagonalMove(Position from, Position to) { return from.Col + 1 == to.Col || from.Col - 1 == to.Col; }
public void Test_RemoveFigureWhitValidЕmptyPosition() { Board testBoard = new Board(); Position position = new Position(8, 'c'); testBoard.RemoveFigure(position); }
private void TopChecker(IBoard board, Position from, Position to) { for (int i = from.Row; i < to.Row - 1; i++) { Position curentPosition = new Position(i + 1, from.Col); var figureAtPosition = board.GetFigureAtPosition(curentPosition); if (figureAtPosition != null) { throw new InvalidOperationException("Queen cannot move this way!"); } } }
public void Test_MoveFigureAtPositionWhitInvalidFromPosition() { Board testBoard = new Board(); Position fromPosition = new Position(2, 'a'); Position invalidFromPosition = new Position(0, '1'); Position toPosition = new Position(4, 'a'); Pawn testPawn = new Pawn(ChessColor.White); testBoard.AddFigure(testPawn, fromPosition); testBoard.MoveFigureAtPosition(testPawn, invalidFromPosition, toPosition); }
private void CheckIfToPositionIsEmpty(IFigure figure, Position to) { var figureAtPosition = this.board.GetFigureAtPosition(to); if (figureAtPosition != null && figureAtPosition.Color == figure.Color) { throw new InvalidOperationException(string.Format("You already have a figure at {0}{1}!", to.Col, to.Row)); } }
public void Test_CreatePositionWhitInvalidData() { int chessRow = 12; char chessCol = 'k'; Position testedPosition = new Position(chessRow, chessCol); }
public void Test_MoveFigureAtPositionWhitValidData() { Board testBoard = new Board(); Position fromPosition = new Position(2, 'a'); Position toPosition = new Position(4, 'a'); Pawn testPawn = new Pawn(ChessColor.White); testBoard.AddFigure(testPawn, fromPosition); testBoard.MoveFigureAtPosition(testPawn, fromPosition, toPosition); bool result = (testPawn == testBoard.GetFigureAtPosition(toPosition)) && (testBoard.GetFigureAtPosition(fromPosition) == null); Assert.IsTrue(result); }
public void Test_MethodCheckIfPositionIsValidWhitValidData() { Position testedPosition = new Position(6, 'h'); Position.CheckIfPositionIsValid(testedPosition); }
public void Test_RemoveFigureWhitInvalidPosition() { Board testBoard = new Board(); Position position = new Position(14, '0'); testBoard.RemoveFigure(position); }
public static Position FromChessCoordinates(int chessRow, char chessCol) { var newPosition = new Position(chessRow, chessCol); Position.CheckIfPositionIsValid(newPosition); return newPosition; }
public void Test_RemoveFigureWhitValidPosition() { Board testBoard = new Board(); Position position = new Position(8, 'c'); Bishop testBishop = new Bishop(ChessColor.White); testBoard.AddFigure(testBishop, position); testBoard.RemoveFigure(position); Assert.IsNull(testBoard.GetFigureAtPosition(position)); }