code: def test_capper():
      input_df = pd.DataFrame(
          {"feat1": [10, 13, 50], "feat2": [50, 75, None]}
      )
  
      input_df2 = pd.DataFrame({"feat1": [7, 15], "feat2": [200, None]})
  
      expected1 = pd.DataFrame(
          {"feat1": [9, 9, 9], "feat2": [50, 75, None]}
      )
  
      expected2 = pd.DataFrame({"feat1": [7, 9], "feat2": [75, None]})
  
      pred_fn1, data1, log = capper(
          input_df, ["feat1", "feat2"], {"feat1": 9}
      )
      pred_fn2, data2, log = capper(
          input_df, ["feat1", "feat2"], {"feat1": 9}, suffix="_suffix"
      )
      pred_fn3, data3, log = capper(
          input_df, ["feat1", "feat2"], {"feat1": 9}, prefix="prefix_"
      )
      pred_fn4, data4, log = capper(
          input_df,
          ["feat1", "feat2"],
          {"feat1": 9},
          columns_mapping={"feat1": "feat1_raw", "feat2": "feat2_raw"},
      )
  
      assert expected1.equals(data1)
      assert expected2.equals(pred_fn1(input_df2))
  
      assert pd.concat(
          [expected1, input_df.copy().add_suffix("_suffix")], axis=1
      ).equals(data2)
      assert pd.concat(
          [expected2, input_df2.copy().add_suffix("_suffix")], axis=1
      ).equals(pred_fn2(input_df2))
  
      assert pd.concat(
          [expected1, input_df.copy().add_prefix("prefix_")], axis=1
      ).equals(data3)
      assert pd.concat(
          [expected2, input_df2.copy().add_prefix("prefix_")], axis=1
      ).equals(pred_fn3(input_df2))
  
      assert pd.concat(
          [expected1, input_df.copy().add_suffix("_raw")], axis=1
      ).equals(data4)
      assert pd.concat(
          [expected2, input_df2.copy().add_suffix("_raw")], axis=1
      ).equals(pred_fn4(input_df2))
  
imports: from collections import OrderedDict
  import math
  import pandas
  import pytest
  from numpy import nan, round, sqrt, floor, log
  from numpy.testing import assert_almost_equal
  from pandas.testing import assert_frame_equal
  from fklearn.training.transformation import selector, capper, floorer, prediction_ranger, count_categorizer, label_categorizer, quantile_biner, truncate_categorical, rank_categorical, onehot_categorizer, target_categorizer, standard_scaler, ecdfer, discrete_ecdfer, custom_transformer, value_mapper, null_injector, missing_warner
label_desc: Use image node_id 2 for calling a global function with example usage: test_capper() without return types