code: def test_value_mapper():
      input_df = pd.DataFrame(
          {
              "feat1": [10, 10, 13, 15],
              "feat2": [100, 200, 300, None],
              "feat3": ["a", "b", "c", "b"],
          }
      )
  
      value_maps = {
          "feat1": {10: 1, 13: 2},
          "feat2": {100: [1, 2, 3]},
          "feat3": {"a": "b", "b": nan},
      }
  
      pred_fn, data_ignore, log = value_mapper(input_df, value_maps)
      pred_fn2, data_ignore2, log2 = value_mapper(
          input_df, value_maps, suffix="_suffix"
      )
      pred_fn3, data_ignore3, log3 = value_mapper(
          input_df, value_maps, prefix="prefix_"
      )
      pred_fn4, data_ignore4, log4 = value_mapper(
          input_df,
          value_maps,
          columns_mapping={
              "feat1": "feat1_raw",
              "feat2": "feat2_raw",
              "feat3": "feat3_raw",
          },
      )
      pred_fn, data_not_ignore, log = value_mapper(
          input_df, value_maps, ignore_unseen=False
      )
  
      expected_ignore = pd.DataFrame(
          {
              "feat1": [1, 1, 2, 15],
              "feat2": [[1, 2, 3], 200, 300, None],
              "feat3": ["b", nan, "c", nan],
          }
      )
  
      expected_not_ignore = pd.DataFrame(
          {
              "feat1": [1, 1, 2, nan],
              "feat2": [[1, 2, 3], nan, nan, nan],
              "feat3": ["b", nan, nan, nan],
          }
      )
  
      assert expected_ignore.equals(data_ignore)
      assert expected_not_ignore.equals(data_not_ignore)
  
      assert pd.concat(
          [expected_ignore, input_df.copy().add_suffix("_suffix")],
          axis=1,
      ).equals(data_ignore2)
  
      assert pd.concat(
          [expected_ignore, input_df.copy().add_prefix("prefix_")],
          axis=1,
      ).equals(data_ignore3)
  
      assert pd.concat(
          [expected_ignore, input_df.copy().add_suffix("_raw")], axis=1
      ).equals(data_ignore4)
  
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 5 for calling a global function with example usage: test_value_mapper() without return types