code: def test_apply(bs_setup, seed):
      bs = IIDBootstrap(bs_setup.x, seed=seed)
      results = bs.apply(bs_setup.func, 1000)
      bs.reset(True)
      direct_results = []
      for pos, _ in bs.bootstrap(1000):
          direct_results.append(bs_setup.func(*pos))
      direct_results = np.array(direct_results)
      assert_equal(results, direct_results)
  
imports: from __future__ import annotations
  import copy
  from typing import Callable, NamedTuple
  import warnings
  import numpy
  from numpy.random import RandomState
  from numpy.testing import assert_allclose, assert_equal
  import pandas
  from pandas.testing import assert_frame_equal, assert_series_equal
  import pytest
  import scipy.stats
  from arch.bootstrap import CircularBlockBootstrap, IIDBootstrap, IndependentSamplesBootstrap, MovingBlockBootstrap, StationaryBootstrap
  from arch.bootstrap._samplers_python import stationary_bootstrap_sample
  from arch.bootstrap._samplers_python import stationary_bootstrap_sample_python
  from arch.bootstrap.base import _loo_jackknife
  from arch.utility.exceptions import StudentizationError
label_desc: Use image node_id 20 for calling a global function with example usage: test_apply(bs_setup, seed) without return types