code: def test_calculation_df_split_with_different_variable_types(
      df_mixed_types,
  ):
      """Test the split of the dataframe using different type of variables."""
      results = {}
      cut_offs = {}
      for split_col in df_mixed_types.columns:
          test = DropHighPSIFeatures(
              split_frac=0.5, split_col=split_col
          )
          test.fit_transform(df_mixed_types)
          results[split_col] = test.psi_values_
          cut_offs[split_col] = test.cut_off_
  
      assert results["A"] == pytest.approx({"B": 0.0}, 12)
      assert results["B"] == pytest.approx(
          {"A": 3.0375978817052403}, 12
      )
      assert results["C"] == pytest.approx(
          {"A": 2.27819841127893, "B": 0.0}, 12
      )
      assert results["time"] == pytest.approx(
          {"A": 8.283089355027482, "B": 0.0}, 12
      )
  
      expected_cut_offs = {
          "A": 9.5,
          "B": 1.5,
          "C": "B",
          "time": date(2019, 1, 10),
      }
  
      assert cut_offs == expected_cut_offs
  
      # Test when no data frame with mixed data types when no split_col is provided.
      test = DropHighPSIFeatures(split_frac=0.5)
      test.fit_transform(df_mixed_types)
      assert test.psi_values_ == pytest.approx(
          {"A": 8.283089355027482, "B": 0.0}, 12
      )
  
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 17 for calling a global function with example usage: test_calculation_df_split_with_different_variable_types(df_mixed_types) without return types