code: def test_merge_rating(rating_true, rating_pred):
      y_true, y_pred = merge_rating_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,
      )
      target_y_true = np.array([3, 3, 5, 5, 3, 3, 2, 1])
      target_y_pred = np.array([14, 12, 7, 8, 13, 6, 11, 5])
  
      assert y_true.shape == y_pred.shape
      assert np.all(y_true == target_y_true)
      assert np.all(y_pred == target_y_pred)
  
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 4 for calling a global function with example usage: test_merge_rating(rating_true, rating_pred) without return types