code: def test_str(bs_setup, seed):
      bs = IIDBootstrap(bs_setup.y_series, seed=seed)
      expected = (
          "IID Bootstrap(no. pos. inputs: 1, no. keyword inputs: 0)"
      )
      assert_equal(str(bs), expected)
      expected = expected[:-1] + ", ID: " + hex(id(bs)) + ")"
      assert_equal(bs.__repr__(), expected)
      expected = (
          "<strong>IID Bootstrap</strong>("
          + "<strong>no. pos. inputs</strong>: 1, "
          + "<strong>no. keyword inputs</strong>: 0, "
          + "<strong>ID</strong>: "
          + hex(id(bs))
          + ")"
      )
      assert_equal(bs._repr_html(), expected)
  
      bs = StationaryBootstrap(
          10, bs_setup.y_series, bs_setup.x_df, seed=seed
      )
      expected = (
          "Stationary Bootstrap(block size: 10, no. pos. "
          "inputs: 2, no. keyword inputs: 0)"
      )
      assert_equal(str(bs), expected)
      expected = expected[:-1] + ", ID: " + hex(id(bs)) + ")"
      assert_equal(bs.__repr__(), expected)
  
      bs = CircularBlockBootstrap(
          block_size=20, y=bs_setup.y_series, x=bs_setup.x_df, seed=seed
      )
      expected = (
          "Circular Block Bootstrap(block size: 20, no. pos. "
          "inputs: 0, no. keyword inputs: 2)"
      )
      assert_equal(str(bs), expected)
      expected = expected[:-1] + ", ID: " + hex(id(bs)) + ")"
      assert_equal(bs.__repr__(), expected)
      expected = (
          "<strong>Circular Block Bootstrap</strong>"
          + "(<strong>block size</strong>: 20, "
          + "<strong>no. pos. inputs</strong>: 0, "
          + "<strong>no. keyword inputs</strong>: 2,"
          + " <strong>ID</strong>: "
          + hex(id(bs))
          + ")"
      )
      assert_equal(bs._repr_html(), expected)
  
      bs = MovingBlockBootstrap(
          block_size=20, y=bs_setup.y_series, x=bs_setup.x_df, seed=seed
      )
      expected = (
          "Moving Block Bootstrap(block size: 20, no. pos. "
          "inputs: 0, no. keyword inputs: 2)"
      )
      assert_equal(str(bs), expected)
      expected = expected[:-1] + ", ID: " + hex(id(bs)) + ")"
      assert_equal(bs.__repr__(), expected)
      expected = (
          "<strong>Moving Block Bootstrap</strong>"
          + "(<strong>block size</strong>: 20, "
          + "<strong>no. pos. inputs</strong>: 0, "
          + "<strong>no. keyword inputs</strong>: 2,"
          + " <strong>ID</strong>: "
          + hex(id(bs))
          + ")"
      )
      assert_equal(bs._repr_html(), expected)
  
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 22 for calling a global function with example usage: test_str(bs_setup, seed) without return types