public void FirstWhitePawnTest() { GameBoard gb = new GameBoard(8, 8); MoveLogic ml = new MoveLogic(gb); var pawn = gb.squares[1, 0]; GetAllValidMoves.GetMoves(ml, pawn, ChessColor.White, false); Assert.AreEqual(2, GetAllValidMoves.AllValidMoves.Count); Assert.AreEqual(gb.squares[2, 0].Coord, GetAllValidMoves.AllValidMoves[0]); Assert.AreEqual(gb.squares[3, 0].Coord, GetAllValidMoves.AllValidMoves[1]); }
/* * Gets all valid move for the selected piece and updates the ViewModel */ private void ShowValidMoves(Square FromSquare) { //var color = Game.CurrentPlayer.Color == ChessColor.Black ? ChessColor.White : ChessColor.Black; var color = Game.CurrentPlayer.Color; ValidMoves.Clear(); GetAllValidMoves.AllValidMoves.Clear(); GetAllValidMoves.GetMoves(Game.ml, FromSquare, color, false); for (int i = 0; i < GetAllValidMoves.AllValidMoves.Count; i++) { ValidMoves.Add(ConvertCordToIndex(GetAllValidMoves.AllValidMoves[i])); ChessBoard[ValidMoves[i]].ValidMove = Visibility.Visible; } }
public void TwoSeparatePiecesTest() { GameBoard gb = new GameBoard(8, 8); MoveLogic ml = new MoveLogic(gb); var pawn = gb.squares[1, 0]; GetAllValidMoves.GetMoves(ml, pawn, ChessColor.White, false); Assert.AreEqual(2, GetAllValidMoves.AllValidMoves.Count); Assert.AreEqual(gb.squares[2, 0].Coord, GetAllValidMoves.AllValidMoves[0]); Assert.AreEqual(gb.squares[3, 0].Coord, GetAllValidMoves.AllValidMoves[1]); gb.MovePiece(gb.squares[7, 1], gb.squares[4, 4]); GetAllValidMoves.GetMoves(ml, gb.squares[4, 4], ChessColor.Black, false); Assert.AreEqual(6, GetAllValidMoves.AllValidMoves.Count); Assert.AreEqual(gb.squares[2, 3].Coord, GetAllValidMoves.AllValidMoves[0]); Assert.AreEqual(gb.squares[2, 5].Coord, GetAllValidMoves.AllValidMoves[1]); Assert.AreEqual(gb.squares[3, 2].Coord, GetAllValidMoves.AllValidMoves[2]); Assert.AreEqual(gb.squares[3, 6].Coord, GetAllValidMoves.AllValidMoves[3]); Assert.AreEqual(gb.squares[5, 2].Coord, GetAllValidMoves.AllValidMoves[4]); Assert.AreEqual(gb.squares[5, 6].Coord, GetAllValidMoves.AllValidMoves[5]); }