code: def test_with_array(df_vartypes, input_features):
      # When the data used to train the class is a numpy array, the names stored in
      # feature_names_in_ are x0, x1, etc. Those should be returned by
      # get_feature_names_out() when input_features is None. Alternatively, it returns
      # a list of the variables entered by the user.
      transformer = MockTransformer()
      transformer.fit(df_vartypes.to_numpy())
  
      if input_features is None:
          assert (
              transformer.get_feature_names_out(
                  input_features=input_features
              )
              == variables_arr
          )
      else:
          assert transformer.get_feature_names_out(
              input_features=input_features
          ) == list(input_features)
  
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 4 for calling a global function with example usage: test_with_array(df_vartypes, input_features) without return types