code: def test_hpo_without_bagging_invalid_resources_per_trial_less_than_minimum_resources(
      mock_system_resources_ctx_mgr, executor_cls
  ):
      hyperparameter_tune_kwargs = {
          "scheduler": "local",
          "searcher": "random",
          "num_trials": 4,
      }
      executor = _initialize_executor(
          executor_cls, hyperparameter_tune_kwargs
      )
      total_resources = {"num_cpus": 8, "num_gpus": 1}
      with mock_system_resources_ctx_mgr(
          num_cpus=total_resources["num_cpus"],
          num_gpus=total_resources["num_gpus"],
      ):
          # Test valid resources per fold and resources per trial
          model = DummyModel(
              minimum_resources={"num_cpus": 1, "num_gpus": 0.1},
              hyperparameters={
                  "ag_args_fit": {"num_cpus": 1, "num_gpus": 0.01}
              },
          )
          model.initialize()
          with pytest.raises(AssertionError) as e:
              executor.register_resources(
                  model, X=dummy_x, **total_resources
              )
  
imports: import pandas
  import pytest
  from autogluon.core.hpo.executors import CustomHpoExecutor, RayHpoExecutor
  from autogluon.core.models.ensemble.bagged_ensemble_model import BaggedEnsembleModel
  from autogluon.tabular.models import AbstractModel
label_desc: Use image node_id 11 for calling a global function with example usage: test_hpo_without_bagging_invalid_resources_per_trial_less_than_minimum_resources(mock_system_resources_ctx_mgr, executor_cls) without return types