private void genericTest(int rows, int columns,String chessPiecesStr,
                               String[] expectedRepresentationString){        
                
        
        List<Piece> pieces;
        pieces = ChessTools.getPiecesFromString(chessPiecesStr);
        
        
        Cell[] chessBoard;
        chessBoard = new Cell[rows * columns];
        
        Arrays.fill(chessBoard, Cell.DEFAULT_EMPTY_CELL);
        
        ChessGameConfiguration cgc = new ChessGameConfiguration(chessBoard,rows,columns);
        
        ChessGameConfiguration[] results = searchEngine.search(cgc, pieces);
        
        
        boolean fault = false;
        if (results.length == expectedRepresentationString.length){
                       
            for(int i= 0; i < results.length && !fault; i++){
                
               BigInteger biRepresentation = ChessTools.calculateRepresentationNumber(results[i].getCurrentBoard());
               String alfabet = ChessConstants.CHESS_BOARD_REPRESENTATION_ALFABET;
               String  currentRepresentationString = ChessTools.convertToRepresentationString(biRepresentation, alfabet.toCharArray());
               fault = !currentRepresentationString.equals(expectedRepresentationString[i]);
            }
        }else{
          fault = true;
        }
        
        assertFalse(fault);
    }