code: def setUp(self) -> None:
      self.test_dir = tempfile.TemporaryDirectory()
      test_path = self.test_dir.name
  
      work_dir = os.path.abspath(os.path.join(test_path, "workdir"))
      dataroot = os.path.join(work_dir, "dataroot")
  
      da_output_yaml = os.path.join(work_dir, "datastats.yaml")
      data_src_cfg = os.path.join(work_dir, "data_src_cfg.yaml")
  
      if not os.path.isdir(dataroot):
          os.makedirs(dataroot)
  
      if not os.path.isdir(work_dir):
          os.makedirs(work_dir)
  
      # Generate a fake dataset
      for d in fake_datalist["testing"] + fake_datalist["training"]:
          im, seg = create_test_image_3d(
              24, 24, 24, rad_max=10, num_seg_classes=1
          )
          nib_image = nib.Nifti1Image(im, affine=np.eye(4))
          image_fpath = os.path.join(dataroot, d["image"])
          nib.save(nib_image, image_fpath)
  
          if "label" in d:
              nib_image = nib.Nifti1Image(seg, affine=np.eye(4))
              label_fpath = os.path.join(dataroot, d["label"])
              nib.save(nib_image, label_fpath)
  
      # write to a json file
      fake_json_datalist = os.path.join(dataroot, "fake_input.json")
      ConfigParser.export_config_file(fake_datalist, fake_json_datalist)
  
      da = DataAnalyzer(
          fake_json_datalist, dataroot, output_path=da_output_yaml
      )
      da.get_all_case_stats()
  
      data_src = {
          "name": "fake_data",
          "task": "segmentation",
          "modality": "MRI",
          "datalist": fake_json_datalist,
          "dataroot": dataroot,
          "multigpu": False,
          "class_names": ["label_class"],
      }
  
      ConfigParser.export_config_file(data_src, data_src_cfg)
      with skip_if_downloading_fails():
          bundle_generator = BundleGen(
              algo_path=work_dir,
              data_stats_filename=da_output_yaml,
              data_src_cfg_name=data_src_cfg,
              templates_path_or_url=get_testing_algo_template_path(),
          )
      bundle_generator.generate(work_dir, num_fold=1)
  
      self.history = bundle_generator.get_history()
      self.work_dir = work_dir
      self.test_path = test_path
  
imports: from __future__ import annotations
  import os
  import tempfile
  import unittest
  from functools import partial
  import nibabel
  import numpy
  import torch
  from monai.apps.auto3dseg import BundleGen, DataAnalyzer, NNIGen, OptunaGen, import_bundle_algo_history
  from monai.bundle.config_parser import ConfigParser
  from monai.data import create_test_image_3d
  from monai.utils import optional_import
  from monai.utils.enums import AlgoKeys
  from tests.utils import SkipIfBeforePyTorchVersion, get_testing_algo_template_path, skip_if_downloading_fails, skip_if_no_cuda
label_desc: Use image node_id 1 for calling the TestHPO obj's underlying member method code with example usage: obj.setUp() without return types