code: def test_python_recall_at_k(rating_true, rating_pred, rating_nohit):
      assert recall_at_k(
          rating_true=rating_true,
          rating_pred=rating_true,
          col_prediction=DEFAULT_RATING_COL,
          k=10,
      ) == pytest.approx(1, TOL)
      assert recall_at_k(rating_true, rating_nohit, k=10) == 0.0
      assert recall_at_k(
          rating_true, rating_pred, k=10
      ) == pytest.approx(0.37777, TOL)
  
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 16 for calling a global function with example usage: test_python_recall_at_k(rating_true, rating_pred, rating_nohit) without return types