code: def test_basebenchmark(tmp_path):
      """Test registering estimator, registering a simple task, and running."""
      benchmark = benchmarks.BaseBenchmark()
  
      benchmark.add_estimator(NaiveForecaster(strategy="drift"))
      benchmark._add_task(factory_estimator_class_task)
  
      results_file = tmp_path / "results.csv"
      results_df = benchmark.run(results_file)
  
      results_df = results_df.drop(columns=["runtime_secs"])
  
      expected_results_df = pd.DataFrame(
          [
              (
                  "factory_estimator_class_task",
                  "NaiveForecaster",
                  "<class 'sktime.forecasting.naive.NaiveForecaster'>",
              )
          ],
          columns=["validation_id", "model_id", "estimator_class"],
      )
  
      pd.testing.assert_frame_equal(expected_results_df, results_df)
      pd.testing.assert_frame_equal(
          expected_results_df,
          pd.read_csv(results_file).drop(columns=["runtime_secs"]),
      )
  
file_path: sktime/sktime/benchmarking/tests/test_benchmarks.py
imports: from typing import Callable
  import pandas
  import pytest
  from sktime.base import BaseEstimator
  from sktime.benchmarking import benchmarks
  from sktime.forecasting.naive import NaiveForecaster
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 2 for calling a global function with example usage: test_basebenchmark(tmp_path) without return types