public void _01_white_pawn_capture_black_pawn_at_row_5_col_2() { _chessBoard.AddReplace(_pawn2, 5, 2); _chessBoard.AddReplace(_pawn1, 6, 1); _pawn1.Move(5, 2); Assert.That(_pawn1.Row, Is.EqualTo(5)); Assert.That(_pawn1.Column, Is.EqualTo(2)); Assert.That(_chessBoard.GetPiece(5, 2), Is.EqualTo(_pawn1)); }
public virtual bool Move(int row, int column) { var destination = new Tuple <int, int>(row, column); var origin = new Tuple <int, int>(Row, Column); var moveSet = MoveStrategy.GetMoveSet(Row, Column, OpposingColor); var canMove = !destination.Equals(origin) && moveSet.Any(t => t.Equals(destination)) && !ChessBoard.IsCheckedState(this, destination); if (canMove) { BeforeMove(destination); ChessBoard.Remove(Row, Column); HandleCapture(destination); MoveCount++; AfterMove(); ChessBoard.AddReplace(this, destination.Item1, destination.Item2); } return(canMove); }
public void _01_placing_the_black_pawn_on_Row_equals_1_and_Column_equals_3_should_place_the_black_pawn_on_that_place_on_the_board() { _chessBoard.AddReplace(_pawn, 1, 3); Assert.That(_pawn.Row, Is.EqualTo(1)); Assert.That(_pawn.Column, Is.EqualTo(3)); }