code: def test_classification(
      estimator,
      cv,
      threshold,
      scoring,
      dropped_features,
      performances,
      df_test,
  ):
      X, y = df_test
  
      sel = RecursiveFeatureAddition(
          estimator=estimator,
          cv=cv,
          threshold=threshold,
          scoring=scoring,
      )
  
      sel.fit(X, y)
  
      Xtransformed = X.copy()
      Xtransformed = Xtransformed.drop(labels=dropped_features, axis=1)
  
      # test fit attrs
      assert sel.features_to_drop_ == dropped_features
  
      assert len(sel.performance_drifts_.keys()) == len(X.columns)
      assert all(
          [var in sel.performance_drifts_.keys() for var in X.columns]
      )
      rounded_perfs = {
          key: round(sel.performance_drifts_[key], 4)
          for key in sel.performance_drifts_
      }
      assert rounded_perfs == performances
  
      # test transform output
      pd.testing.assert_frame_equal(sel.transform(X), Xtransformed)
  
imports: import pandas
  import pytest
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.linear_model import Lasso, LogisticRegression
  from sklearn.tree import DecisionTreeRegressor
  from feature_engine.selection import RecursiveFeatureAddition
label_desc: Use image node_id 1 for calling a global function with example usage: test_classification(estimator, cv, threshold, scoring, dropped_features, performances, df_test) without return types