code: def test_merge_ranking(rating_true, rating_pred):
      data_hit, data_hit_count, n_users = merge_ranking_true_pred(
          rating_true,
          rating_pred,
          col_user=DEFAULT_USER_COL,
          col_item=DEFAULT_ITEM_COL,
          col_rating=DEFAULT_RATING_COL,
          col_prediction=DEFAULT_PREDICTION_COL,
          relevancy_method="top_k",
      )
  
      assert isinstance(data_hit, pd.DataFrame)
  
      assert isinstance(data_hit_count, pd.DataFrame)
      columns = data_hit_count.columns
      columns_exp = [
          DEFAULT_USER_COL,
          DEFAULT_ITEM_COL,
          DEFAULT_PREDICTION_COL,
      ]
      assert set(columns).intersection(set(columns_exp)) is not None
  
      assert n_users == 3
  
imports: import numpy
  import pandas
  import pytest
  from unittest.mock import Mock
  from sklearn.preprocessing import minmax_scale
  from pandas.testing import assert_frame_equal
  from recommenders.utils.constants import DEFAULT_USER_COL, DEFAULT_ITEM_COL, DEFAULT_RATING_COL, DEFAULT_PREDICTION_COL
  from recommenders.evaluation.python_evaluation import _check_column_dtypes, merge_rating_true_pred, merge_ranking_true_pred, rmse, mae, rsquared, exp_var, get_top_k_items, precision_at_k, recall_at_k, ndcg_at_k, map_at_k, map, auc, logloss, user_diversity, diversity, historical_item_novelty, novelty, user_item_serendipity, user_serendipity, serendipity, catalog_coverage, distributional_coverage, ColumnMismatchError, ColumnTypeMismatchError
label_desc: Use image node_id 5 for calling a global function with example usage: test_merge_ranking(rating_true, rating_pred) without return types