code: def test_onehot_categorizer(
      df_train,
      df_test,
      columns_to_categorize,
      drop_first,
      hardcode,
      expected_output_train,
      expected_output_test,
  ):
      categorizer_learner = onehot_categorizer(
          columns_to_categorize=columns_to_categorize,
          hardcode_nans=hardcode,
          drop_first_column=drop_first,
      )
  
      pred_fn, data, log = categorizer_learner(df_train)
      test_result = pred_fn(df_test)
  
      assert_frame_equal(test_result, expected_output_test)
      assert_frame_equal(data, expected_output_train)
  
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 11 for calling a global function with example usage: test_onehot_categorizer(df_train, df_test, columns_to_categorize, drop_first, hardcode, expected_output_train, expected_output_test) without return types