public void kingMoveTest() { var board = new Board(); board.Set(3, 2, new Piece() { IsKing = false, Location = Tuple.Create(3, 2), Player = Player.RED }); board.Set(4, 3, new Piece() { IsKing = true, Location = Tuple.Create(4, 3), Player = Player.BLACK }); var jumpMoves = AvailableMoveService.GetJumpMoves(board, new Piece() { IsKing = true, Location = Tuple.Create(4, 3), Player = Player.BLACK }); Assert.Single(jumpMoves); Assert.Single(jumpMoves.FindAll(x => x.MoveTo.Item1 == 2)); var moves = AvailableMoveService.GetMoves(board, Player.BLACK); Assert.Equal(4, moves.Count); }
public void startingBoardJumpTest() { var board = Board.GetStartingBoard(); var moves = AvailableMoveService.GetJumpMoves(board, board.Get(2, 1)); Assert.Empty(moves); }
public void startingBoardAvailableMovesRedTest() { var board = Board.GetStartingBoard(); var moves = AvailableMoveService.GetMoves(board, Player.RED); Assert.Equal(7, moves.Count); Assert.Equal(7, moves.FindAll(x => x.Piece.Player == Player.RED).Count); Assert.Empty(moves.FindAll(x => x.Piece.Player == Player.BLACK)); Assert.Equal(7, moves.FindAll(x => x.Piece.Location.Item2 == 5).Count); //assert all in row 5 Assert.Equal(7, moves.FindAll(x => x.MoveTo.Item2 == 4).Count); //assert all move to row 4 }
public void winnerTest() { var board = new Board(); board.Set(3, 2, new Piece() { IsKing = false, Location = Tuple.Create(3, 2), Player = Player.BLACK }); Assert.Equal(Player.BLACK, AvailableMoveService.GetWinner(board)); }
public void gameOverTest() { var board = new Board(); board.Set(3, 2, new Piece() { IsKing = false, Location = Tuple.Create(3, 2), Player = Player.BLACK }); Assert.True(AvailableMoveService.IsGameOver(board)); }
public void isValidMoveNotMatchingTest() { var board = new Board(); board.Set(3, 2, new Piece() { IsKing = false, Location = Tuple.Create(3, 2), Player = Player.BLACK }); Assert.False(AvailableMoveService.isValidMove(board, new Move() { MoveTo = Tuple.Create(4, 3), Piece = new Piece() { Player = Player.RED, Location = Tuple.Create(3, 2) } })); }