code: def test_median_pruner_interval_steps(
      n_warmup_steps: int,
      interval_steps: int,
      report_steps: int,
      expected_prune_steps: List[int],
  ) -> None:
      pruner = optuna.pruners.MedianPruner(
          0, n_warmup_steps, interval_steps
      )
      study = optuna.study.create_study(pruner=pruner)
  
      trial = study.ask()
      last_step = max(expected_prune_steps) + 1
  
      for i in range(last_step):
          trial.report(0, i)
      study.tell(trial, 0)
  
      trial = study.ask()
  
      pruned = []
      for i in range(last_step):
          if i % report_steps == 0:
              trial.report(2, i)
          if trial.should_prune():
              pruned.append(i)
      assert pruned == expected_prune_steps
  
file_path: optuna/tests/pruners_tests/test_median.py
imports: from typing import List
  from typing import Tuple
  import pytest
  import optuna
label_desc: Use image node_id 6 for calling a global function with example usage: test_median_pruner_interval_steps(n_warmup_steps, interval_steps, report_steps, expected_prune_steps) without return types