code: def test_extract_feature_names(dec_tree_pipeline):
      features_actual = _extract_final_feature_names(
          pipeline=dec_tree_pipeline,
          features=np.array(
              [
                  "Pclass",
                  "Age",
                  "Fare",
                  "Sex_label",
                  "Cabin_label",
                  "Embarked_label",
              ]
          ),
      )
      features_expected = [
          "1",
          "Pclass",
          "Age",
          "Fare",
          "Cabin_label",
          "Embarked_label",
          "Pclass Age",
          "Pclass Fare",
          "Pclass Cabin_label",
          "Pclass Embarked_label",
          "Age Fare",
          "Age Cabin_label",
          "Age Embarked_label",
          "Fare Cabin_label",
          "Fare Embarked_label",
          "Cabin_label Embarked_label",
      ]
      assert features_actual == features_expected
  
file_path: dtreeviz/testing/testlib/models/test_decision_trees_sk_pipeline.py
imports: import numpy
  import pytest
  from sklearn.tree import DecisionTreeClassifier
  from sklearn.feature_selection import VarianceThreshold
  from sklearn.pipeline import make_pipeline, Pipeline
  from sklearn.preprocessing import PolynomialFeatures
  from dtreeviz.models.sklearn_decision_trees import ShadowSKDTree
  from dtreeviz.utils import _extract_final_feature_names, extract_params_from_pipeline
label_desc: Use image node_id 3 for calling a global function with example usage: test_extract_feature_names(dec_tree_pipeline) without return types