code: def test_new_feature_names_pipe_and_skl_transformer_that_adds_features(
      df_vartypes, input_features
  ):
      features_in = ["Age", "Marks"]
      df = df_vartypes[features_in].copy()
  
      pipe = Pipeline(
          [
              ("poly", PolynomialFeatures()),
              (
                  "transformer",
                  MockCreator(
                      variables=features_in, drop_original=False
                  ),
              ),
          ]
      )
      pipe.fit(df)
  
      new_features = [f"{i}_plus" for i in features_in]
      assert (
          pipe.get_feature_names_out(input_features=input_features)
          == ["1", "Age", "Marks", "Age^2", "Age Marks", "Marks^2"]
          + new_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 14 for calling a global function with example usage: test_new_feature_names_pipe_and_skl_transformer_that_adds_features(df_vartypes, input_features) without return types