code: def test_with_df(df_vartypes, input_features):
      # When the data used to train the class is a dataframe, the variable names are
      # stored in feature_names_in_. Those should be returned by get_feature_names_out()
      transformer = MockTransformer()
      transformer.fit(df_vartypes)
      assert (
          transformer.get_feature_names_out(
              input_features=input_features
          )
          == transformer.feature_names_in_
      )
      assert (
          transformer.get_feature_names_out(
              input_features=input_features
          )
          == variables_str
      )
      assert (
          transformer.get_feature_names_out(
              input_features=df_vartypes.columns
          )
          == variables_str
      )
  
imports: import numpy
  import pytest
  from sklearn.exceptions import NotFittedError
  from sklearn.impute import SimpleImputer
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import PolynomialFeatures
  from feature_engine._base_transformers.mixins import GetFeatureNamesOutMixin
  from feature_engine.dataframe_checks import check_X
label_desc: Use image node_id 3 for calling a global function with example usage: test_with_df(df_vartypes, input_features) without return types