code: def test_optuna_search_properties() -> None:
      X, y = make_blobs(n_samples=10)
      est = LogisticRegression(tol=1e-03)
      param_dist = {
          "C": distributions.FloatDistribution(1e-04, 1e03, log=True)
      }
  
      optuna_search = integration.OptunaSearchCV(
          est,
          param_dist,
          cv=3,
          error_score="raise",
          random_state=0,
          return_train_score=True,
      )
      optuna_search.fit(X, y)
      optuna_search.set_user_attr("dataset", "blobs")
  
      assert optuna_search._estimator_type == "classifier"
      assert isinstance(optuna_search.best_index_, int)
      assert isinstance(optuna_search.best_params_, dict)
      assert isinstance(optuna_search.cv_results_, dict)
      for cv_result_list_ in optuna_search.cv_results_.values():
          assert len(cv_result_list_) == optuna_search.n_trials_
      assert optuna_search.best_score_ is not None
      assert optuna_search.best_trial_ is not None
      assert np.allclose(optuna_search.classes_, np.array([0, 1, 2]))
      assert optuna_search.n_trials_ == 10
      assert optuna_search.user_attrs_ == {"dataset": "blobs"}
      assert type(optuna_search.predict_log_proba(X)) == np.ndarray
      assert type(optuna_search.predict_proba(X)) == np.ndarray
  
imports: from __future__ import annotations
  from unittest.mock import MagicMock
  from unittest.mock import patch
  import warnings
  import numpy
  import pytest
  import scipy
  from sklearn.datasets import make_blobs
  from sklearn.datasets import make_regression
  from sklearn.decomposition import PCA
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.exceptions import NotFittedError
  from sklearn.linear_model import LogisticRegression
  from sklearn.linear_model import SGDClassifier
  from sklearn.neighbors import KernelDensity
  from sklearn.tree import DecisionTreeRegressor
  from optuna import distributions
  from optuna import integration
  from optuna.samplers import BruteForceSampler
  from optuna.study import create_study
  from optuna.terminator.erroreval import _CROSS_VALIDATION_SCORES_KEY
label_desc: Use image node_id 5 for calling a global function with example usage: test_optuna_search_properties() without return types