code: def test_optional_step_matching_by_exp(env_boston, es_0, es_1, es_2):
      """Test that the result of an Experiment is correctly matched by an OptPro with all-`optional`
      `EngineerStep` dimensions"""
      feature_engineer = [
          _ for _ in [es_0, es_1, es_2] if _ is not None
      ]
      exp_0 = CVExperiment(
          XGBRegressor, feature_engineer=feature_engineer
      )
  
      opt_0 = ExtraTreesOptPro(iterations=1, random_state=32)
      opt_0.forge_experiment(
          XGBRegressor,
          feature_engineer=[
              Categorical([es_a], optional=True),
              Categorical([es_b, es_c], optional=True),
              Categorical([es_d, es_e], optional=True),
          ],
      )
      opt_0.get_ready()
  
      # Assert `opt_0` matched with `exp_0`
      assert len(opt_0.similar_experiments) == 1
  
imports: from hyperparameter_hunter import Environment, FeatureEngineer, EngineerStep, __version__
  from hyperparameter_hunter import CVExperiment, Real, Integer, Categorical
  from hyperparameter_hunter import BayesianOptPro, DummyOptPro, ExtraTreesOptPro
  from hyperparameter_hunter.utils.learning_utils import get_boston_data
  from hyperparameter_hunter.utils.version_utils import HHVersion
  from os import makedirs
  import pytest
  from shutil import rmtree
  from xgboost import XGBRegressor
label_desc: Use image node_id 16 for calling a global function with example usage: test_optional_step_matching_by_exp(env_boston, es_0, es_1, es_2) without return types