public void Should_GenerateOneMoveSouthWest() { // execute ChessPosition position = _mover.SouthWest(ChessPosition.B2); // verify Assert.AreEqual(ChessPosition.A1, position); }
private ChessPosition GenerateCaptureWest(IBoardState enemyPieces, IChessPieceMover cpm) { ChessPosition potentialCapture = Color == ChessColor.White ? cpm.NorthWest(Location) : cpm.SouthWest(Location); bool isPieceAtCaptureLocation = enemyPieces.Contains(potentialCapture); return(isPieceAtCaptureLocation ? potentialCapture : ChessPosition.None); }
private void GenerateSouthWestMoves(IBoardState boardState, IChessPieceMover cpm) { ChessPosition nextMove = cpm.SouthWest(Location); if (!boardState.Contains(nextMove)) { MoveSet.Add(nextMove); } }
private void GenerateWestSouthWestMove(IBoardState boardState, IChessPieceMover cpm) { ChessPosition move = cpm.West(cpm.SouthWest(Location)); if (!boardState.Contains(move)) { MoveSet.Add(move); } }
private void GenerateSouthWestCaptures(IBoardState enemyBoardState, IChessPieceMover cpm) { ChessPosition capture = cpm.SouthWest(Location); AddCaptureToCaptureSet(capture, enemyBoardState); }
private ChessPosition GenerateThreatenedWest(IChessPieceMover cpm) { return(Color == ChessColor.White ? cpm.NorthWest(Location) : cpm.SouthWest(Location)); }