code: def test_get_feature_names_out(df_enc_big):
      input_features = df_enc_big.columns.tolist()
  
      tr = StringSimilarityEncoder()
      tr.fit(df_enc_big)
  
      # sort by popularity within variable
      out = [
          "var_A_B",
          "var_A_D",
          "var_A_A",
          "var_A_G",
          "var_A_C",
          "var_A_E",
          "var_A_F",
          "var_B_A",
          "var_B_D",
          "var_B_B",
          "var_B_G",
          "var_B_C",
          "var_B_E",
          "var_B_F",
          "var_C_C",
          "var_C_D",
          "var_C_B",
          "var_C_G",
          "var_C_A",
          "var_C_E",
          "var_C_F",
      ]
  
      assert tr.get_feature_names_out(input_features=None) == out
      assert (
          tr.get_feature_names_out(input_features=input_features) == out
      )
  
      tr = StringSimilarityEncoder(top_categories=1)
      tr.fit(df_enc_big)
  
      out = ["var_A_B", "var_B_A", "var_C_C"]
  
      assert tr.get_feature_names_out(input_features=None) == out
      assert (
          tr.get_feature_names_out(input_features=input_features) == out
      )
  
      with pytest.raises(ValueError):
          tr.get_feature_names_out("var_A")
  
      with pytest.raises(ValueError):
          tr.get_feature_names_out(["var_A", "hola"])
  
imports: from difflib import SequenceMatcher
  import pandas
  import pytest
  from feature_engine.encoding import StringSimilarityEncoder
  from feature_engine.encoding.similarity_encoder import _gpm_fast
label_desc: Use image node_id 10 for calling a global function with example usage: test_get_feature_names_out(df_enc_big) without return types