class_docstr: TestUtil's fake command
code: def __call__(number, dataset=None, result_fn=None):
      if result_fn:
          yield from result_fn(number)
      else:
          for i in range(number):
              # this dict will need to have the minimum info
              # required by eval_results
              yield {
                  "path": "some",
                  "status": "ok",
                  "somekey": i,
                  "action": "off",
              }
  
imports: import logging
  import re
  from contextlib import contextmanager
  from os.path import exists
  from os.path import join
  from time import sleep
  from datalad.distribution.dataset import Dataset, EnsureDataset, datasetmethod
  from datalad.interface.base import build_doc, eval_results
  from datalad.support.constraints import EnsureKeyChoice, EnsureNone, EnsureStr
  from datalad.support.param import Parameter
  from datalad.tests.utils_pytest import assert_dict_equal, assert_equal, assert_in, assert_not_equal, assert_not_in, assert_raises, assert_re_in, assert_repo_status, assert_result_count, assert_true, ok_, slow, with_tempfile, with_tree
  from datalad.utils import swallow_logs, swallow_outputs
  from ..base import Interface
  from ..results import get_status_dict
  from ..utils import discover_dataset_trace_to_targets, handle_dirty_dataset
label_desc: Use image node_id 1 for calling the TestUtils obj's underlying member method code with example usage: obj.__call__(number, dataset, result_fn) without return types