code: def test_scheduler_factory__can_construct_valid_config_with_str_scheduler():
      scheduler_cls, scheduler_params = scheduler_factory(
          hyperparameter_tune_kwargs={
              "scheduler": "local",
              "searcher": "grid",
              "custom_option": "value",
          }
      )
  
      assert (
          scheduler_cls == LocalSequentialScheduler
      ), "scheduler_cls must be correct"
      assert (
          scheduler_params["resource"]["num_cpus"] is not None
      ), "resources/num_cpus must be present"
      assert (
          scheduler_params["resource"]["num_gpus"] is not None
      ), "resources/num_cpus must be present"
  
      expected_values = {
          "searcher": "grid",
          "search_options": {},
          "checkpoint": None,
          "resume": False,
          "num_trials": None,
          "reward_attr": "validation_performance",
          "time_attr": "epoch",
          "visualizer": "none",
          "dist_ip_addrs": [],
          "scheduler": "local",
          "custom_option": "value",
      }
      for k, v in expected_values.items():
          assert scheduler_params[k] == v, f"{k} must be {v}"
  
file_path: autogluon/core/tests/unittests/core/scheduler/test_scheduler_factory.py
imports: import pytest
  from autogluon.core.scheduler.scheduler_factory import get_hyperparameter_tune_kwargs_preset, scheduler_factory
  from autogluon.core.scheduler.seq_scheduler import LocalSequentialScheduler
label_desc: Use image node_id 1 for calling a global function with example usage: test_scheduler_factory__can_construct_valid_config_with_str_scheduler() without return types