code: def test_new_feature_names_pipe_with_skl_transformer_and_array(
      df_vartypes, input_features
  ):
      df_vartypes = df_vartypes.drop(["dob"], axis=1)
  
      pipe = Pipeline(
          [
              ("imputer", SimpleImputer(strategy="constant")),
              ("transformer", MockSelector()),
          ]
      )
      pipe.fit(df_vartypes.to_numpy())
  
      if input_features is not None:
          input_features = input_features[0:-1]
          features_out = input_features[2:]
          assert (
              pipe.get_feature_names_out(input_features=input_features)
              == features_out
          )
      else:
          features_out = ["x2", "x3"]
          assert (
              pipe.get_feature_names_out(input_features=input_features)
              == features_out
          )
  
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 19 for calling a global function with example usage: test_new_feature_names_pipe_with_skl_transformer_and_array(df_vartypes, input_features) without return types