code: def test_get_feature_names_out(self):
      for encoder_name in encoders.__all__:
          with self.subTest(encoder_name=encoder_name):
              enc = getattr(encoders, encoder_name)()
              # Target encoders also need y
              if enc._get_tags().get("supervised_encoder"):
                  obtained = enc.fit(X, y).get_feature_names_out()
                  expected = np.array(enc.transform(X, y).columns)
              else:
                  obtained = enc.fit(X).get_feature_names_out()
                  expected = np.array(enc.transform(X).columns)
              assert_array_equal(obtained, expected)
  
imports: import warnings
  from datetime import timedelta
  import numpy
  from numpy.testing import assert_array_equal
  import pandas
  import sklearn
  import tests.helpers
  from sklearn.utils.estimator_checks import check_transformer_general, check_transformers_unfitted, check_n_features_in
  from sklearn.compose import ColumnTransformer
  from unittest import TestCase
  from copy import deepcopy
  import category_encoders
label_desc: Use image node_id 29 for calling the TestEncoders obj's underlying member method code with example usage: obj.test_get_feature_names_out() without return types