code: def test_get_edf_info(
      n_studies: int,
      target: Callable[[optuna.trial.FrozenTrial], float],
  ) -> None:
      studies = []
      n_trials = 3
      max_target = 5
      for i in range(n_studies):
          study = create_study(study_name=str(i))
          study.optimize(
              lambda t: t.suggest_float("x", 0, max_target),
              n_trials=n_trials,
          )
          studies.append(study)
  
      info = _get_edf_info(
          studies, target=target, target_name="Target Name"
      )
      assert info.x_values.shape == (NUM_SAMPLES_X_AXIS,)
      assert all([0 <= x <= max_target for x in info.x_values])
      assert len(info.lines) == n_studies
      for i, line in enumerate(info.lines):
          assert str(i) == line.study_name
          assert line.y_values.shape == (NUM_SAMPLES_X_AXIS,)
          _validate_edf_values(line.y_values)
  
imports: from __future__ import annotations
  from io import BytesIO
  from typing import Any
  from typing import Callable
  import numpy
  import pytest
  import optuna
  from optuna import Study
  from optuna.study import create_study
  from optuna.testing.visualization import prepare_study_with_trials
  from optuna.trial import create_trial
  from optuna.visualization import plot_edf
  from optuna.visualization._edf import _EDFInfo
  from optuna.visualization._edf import _get_edf_info
  from optuna.visualization._edf import NUM_SAMPLES_X_AXIS
  from optuna.visualization._plotly_imports import _imports
  from optuna.visualization.matplotlib import plot_edf
  from optuna.visualization.matplotlib._matplotlib_imports import _imports
label_desc: Use image node_id 10 for calling a global function with example usage: test_get_edf_info(n_studies, target) without return types