code: def test_param_variable_definition(df):
      """Test defining the subset of features through the variable argument.
  
      Due to the small split_frac value, all variables will fail the PSI test, that is,
      the variables in the list will show a high PSI value and this will be removed.
  
      The aim of the test is to show that only those variables defined in the variable
      argument are examined.
      """
      #
      select = DropHighPSIFeatures(
          variables=["var_1", "var_3", "var_5"], split_frac=0.01
      )
      transformed_df = select.fit_transform(df)
  
      assert select.variables == ["var_1", "var_3", "var_5"]
      assert select.variables_ == ["var_1", "var_3", "var_5"]
      assert list(select.psi_values_.keys()) == [
          "var_1",
          "var_3",
          "var_5",
      ]
      assert select.features_to_drop_ == ["var_1", "var_3", "var_5"]
  
      assert transformed_df.columns.to_list() == [
          "var_0",
          "var_2",
          "var_4",
          "drift_1",
          "drift_2",
      ]
  
imports: from datetime import date
  import math
  import numpy
  import pandas
  import pytest
  from sklearn.datasets import make_classification
  from feature_engine.selection import DropHighPSIFeatures
label_desc: Use image node_id 26 for calling a global function with example usage: test_param_variable_definition(df) without return types