code: def test_get_feature_names_out(df_datetime, df_datetime_transformed):
      # default features from all variables
      transformer = DatetimeFeatures()
      X = transformer.fit_transform(df_datetime)
      assert list(X.columns) == transformer.get_feature_names_out()
      assert list(X.columns) == transformer.get_feature_names_out(
          df_datetime.columns
      )
  
      with pytest.raises(ValueError):
          transformer.get_feature_names_out(input_features=vars_dt)
  
      with pytest.raises(ValueError):
          transformer.get_feature_names_out(
              input_features=["date_obj1"]
          )
      # default features from 1 variable
      transformer = DatetimeFeatures(variables="date_obj1")
      X = transformer.fit_transform(df_datetime)
      assert list(X.columns) == transformer.get_feature_names_out()
      assert list(X.columns) == transformer.get_feature_names_out(
          df_datetime.columns
      )
  
      # all features
      transformer = DatetimeFeatures(features_to_extract="all")
      X = transformer.fit_transform(df_datetime)
      assert list(X.columns) == transformer.get_feature_names_out()
  
      # specified features
      transformer = DatetimeFeatures(
          features_to_extract=["semester", "week"]
      )
      X = transformer.fit_transform(df_datetime)
      assert list(X.columns) == transformer.get_feature_names_out()
  
      # features were extracted from index
      transformer = DatetimeFeatures(
          variables="index", features_to_extract=["semester", "week"]
      )
      X = transformer.fit_transform(dates_idx_dt)
      assert list(X.columns) == transformer.get_feature_names_out()
  
      # user passes something else than index as input_features
      with pytest.raises(ValueError):
          transformer.get_feature_names_out(input_features="not_index")
      with pytest.raises(ValueError):
          transformer.get_feature_names_out(
              input_features=["still", "not", "index"]
          )
  
      # when drop original is False
      transformer = DatetimeFeatures(drop_original=False)
      X = transformer.fit_transform(df_datetime)
      assert list(X.columns) == transformer.get_feature_names_out()
      with pytest.raises(ValueError):
          # assert error when user passes a string instead of list
          transformer.get_feature_names_out(input_features="date_obj1")
  
      with pytest.raises(ValueError):
          # assert error when uses passes features that were not lagged
          transformer.get_feature_names_out(input_features=["color"])
  
imports: import numpy
  import pandas
  import pytest
  from sklearn.exceptions import NotFittedError
  from sklearn.pipeline import Pipeline
  from feature_engine.datetime import DatetimeFeatures
  from feature_engine.datetime._datetime_constants import FEATURES_DEFAULT, FEATURES_SUFFIXES, FEATURES_SUPPORTED
label_desc: Use image node_id 23 for calling a global function with example usage: test_get_feature_names_out(df_datetime, df_datetime_transformed) without return types