code: def test_extract_specified_datetime_features(
      df_datetime, df_datetime_transformed
  ):
      X = DatetimeFeatures(
          features_to_extract=["semester", "week"]
      ).fit_transform(df_datetime)
      pd.testing.assert_frame_equal(
          X,
          df_datetime_transformed[
              vars_non_dt
              + [
                  var + "_" + feat
                  for var in vars_dt
                  for feat in ["semester", "week"]
              ]
          ],
      )
  
      # different order than they appear in the glossary
      X = DatetimeFeatures(
          features_to_extract=["hour", "day_of_week"]
      ).fit_transform(df_datetime)
      pd.testing.assert_frame_equal(
          X,
          df_datetime_transformed[
              vars_non_dt
              + [
                  var + "_" + feat
                  for var in vars_dt
                  for feat in ["hour", "day_of_week"]
              ]
          ],
      )
  
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 16 for calling a global function with example usage: test_extract_specified_datetime_features(df_datetime, df_datetime_transformed) without return types